packwerk 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +27 -0
- data/.github/probots.yml +2 -0
- data/.github/pull_request_template.md +27 -0
- data/.github/workflows/ci.yml +50 -0
- data/.gitignore +12 -0
- data/.rubocop.yml +46 -0
- data/.ruby-version +1 -0
- data/CODEOWNERS +1 -0
- data/CODE_OF_CONDUCT.md +76 -0
- data/CONTRIBUTING.md +17 -0
- data/Gemfile +22 -0
- data/Gemfile.lock +236 -0
- data/LICENSE.md +7 -0
- data/README.md +73 -0
- data/Rakefile +13 -0
- data/TROUBLESHOOT.md +67 -0
- data/USAGE.md +250 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/dev.yml +32 -0
- data/docs/cohesion.png +0 -0
- data/exe/packwerk +6 -0
- data/lib/packwerk.rb +44 -0
- data/lib/packwerk/application_validator.rb +343 -0
- data/lib/packwerk/association_inspector.rb +44 -0
- data/lib/packwerk/checking_deprecated_references.rb +40 -0
- data/lib/packwerk/cli.rb +238 -0
- data/lib/packwerk/configuration.rb +82 -0
- data/lib/packwerk/const_node_inspector.rb +44 -0
- data/lib/packwerk/constant_discovery.rb +60 -0
- data/lib/packwerk/constant_name_inspector.rb +22 -0
- data/lib/packwerk/dependency_checker.rb +28 -0
- data/lib/packwerk/deprecated_references.rb +92 -0
- data/lib/packwerk/file_processor.rb +43 -0
- data/lib/packwerk/files_for_processing.rb +67 -0
- data/lib/packwerk/formatters/progress_formatter.rb +46 -0
- data/lib/packwerk/generators/application_validation.rb +62 -0
- data/lib/packwerk/generators/configuration_file.rb +69 -0
- data/lib/packwerk/generators/inflections_file.rb +43 -0
- data/lib/packwerk/generators/root_package.rb +37 -0
- data/lib/packwerk/generators/templates/inflections.yml +6 -0
- data/lib/packwerk/generators/templates/package.yml +17 -0
- data/lib/packwerk/generators/templates/packwerk +23 -0
- data/lib/packwerk/generators/templates/packwerk.yml.erb +23 -0
- data/lib/packwerk/generators/templates/packwerk_validator_test.rb +11 -0
- data/lib/packwerk/graph.rb +74 -0
- data/lib/packwerk/inflections/custom.rb +33 -0
- data/lib/packwerk/inflections/default.rb +73 -0
- data/lib/packwerk/inflector.rb +41 -0
- data/lib/packwerk/node.rb +259 -0
- data/lib/packwerk/node_processor.rb +49 -0
- data/lib/packwerk/node_visitor.rb +22 -0
- data/lib/packwerk/offense.rb +44 -0
- data/lib/packwerk/output_styles.rb +41 -0
- data/lib/packwerk/package.rb +56 -0
- data/lib/packwerk/package_set.rb +59 -0
- data/lib/packwerk/parsed_constant_definitions.rb +62 -0
- data/lib/packwerk/parsers.rb +23 -0
- data/lib/packwerk/parsers/erb.rb +66 -0
- data/lib/packwerk/parsers/factory.rb +34 -0
- data/lib/packwerk/parsers/ruby.rb +42 -0
- data/lib/packwerk/privacy_checker.rb +45 -0
- data/lib/packwerk/reference.rb +6 -0
- data/lib/packwerk/reference_extractor.rb +81 -0
- data/lib/packwerk/reference_lister.rb +23 -0
- data/lib/packwerk/run_context.rb +103 -0
- data/lib/packwerk/sanity_checker.rb +10 -0
- data/lib/packwerk/spring_command.rb +28 -0
- data/lib/packwerk/updating_deprecated_references.rb +51 -0
- data/lib/packwerk/version.rb +6 -0
- data/lib/packwerk/violation_type.rb +13 -0
- data/library.yml +6 -0
- data/packwerk.gemspec +58 -0
- data/service.yml +6 -0
- data/shipit.rubygems.yml +1 -0
- data/sorbet/config +2 -0
- data/sorbet/rbi/gems/actioncable@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +840 -0
- data/sorbet/rbi/gems/actionmailbox@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +571 -0
- data/sorbet/rbi/gems/actionmailer@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +568 -0
- data/sorbet/rbi/gems/actionpack@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +5216 -0
- data/sorbet/rbi/gems/actiontext@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +663 -0
- data/sorbet/rbi/gems/actionview@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +2504 -0
- data/sorbet/rbi/gems/activejob@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +635 -0
- data/sorbet/rbi/gems/activemodel@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +1201 -0
- data/sorbet/rbi/gems/activerecord@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +8011 -0
- data/sorbet/rbi/gems/activestorage@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +904 -0
- data/sorbet/rbi/gems/activesupport@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +3888 -0
- data/sorbet/rbi/gems/ast@2.4.1.rbi +54 -0
- data/sorbet/rbi/gems/better_html@1.0.15.rbi +317 -0
- data/sorbet/rbi/gems/builder@3.2.4.rbi +8 -0
- data/sorbet/rbi/gems/byebug@11.1.3.rbi +8 -0
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
- data/sorbet/rbi/gems/colorize@0.8.1.rbi +40 -0
- data/sorbet/rbi/gems/commander@4.5.2.rbi +8 -0
- data/sorbet/rbi/gems/concurrent-ruby@1.1.6.rbi +1966 -0
- data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +26 -0
- data/sorbet/rbi/gems/crass@1.0.6.rbi +138 -0
- data/sorbet/rbi/gems/erubi@1.9.0.rbi +39 -0
- data/sorbet/rbi/gems/globalid@0.4.2.rbi +178 -0
- data/sorbet/rbi/gems/highline@2.0.3.rbi +8 -0
- data/sorbet/rbi/gems/html_tokenizer@0.0.7.rbi +46 -0
- data/sorbet/rbi/gems/i18n@1.8.2.rbi +633 -0
- data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +8 -0
- data/sorbet/rbi/gems/loofah@2.5.0.rbi +272 -0
- data/sorbet/rbi/gems/m@1.5.1.rbi +108 -0
- data/sorbet/rbi/gems/mail@2.7.1.rbi +2490 -0
- data/sorbet/rbi/gems/marcel@0.3.3.rbi +30 -0
- data/sorbet/rbi/gems/method_source@1.0.0.rbi +76 -0
- data/sorbet/rbi/gems/mimemagic@0.3.5.rbi +47 -0
- data/sorbet/rbi/gems/mini_mime@1.0.2.rbi +71 -0
- data/sorbet/rbi/gems/mini_portile2@2.4.0.rbi +8 -0
- data/sorbet/rbi/gems/minitest@5.14.0.rbi +542 -0
- data/sorbet/rbi/gems/mocha@1.11.2.rbi +964 -0
- data/sorbet/rbi/gems/nio4r@2.5.2.rbi +89 -0
- data/sorbet/rbi/gems/nokogiri@1.10.9.rbi +1608 -0
- data/sorbet/rbi/gems/parallel@1.19.1.rbi +8 -0
- data/sorbet/rbi/gems/parlour@4.0.1.rbi +561 -0
- data/sorbet/rbi/gems/parser@2.7.1.4.rbi +1632 -0
- data/sorbet/rbi/gems/pry@0.13.1.rbi +8 -0
- data/sorbet/rbi/gems/rack-test@1.1.0.rbi +335 -0
- data/sorbet/rbi/gems/rack@2.2.2.rbi +1730 -0
- data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +123 -0
- data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +213 -0
- data/sorbet/rbi/gems/rails@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +8 -0
- data/sorbet/rbi/gems/railties@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +869 -0
- data/sorbet/rbi/gems/rainbow@3.0.0.rbi +155 -0
- data/sorbet/rbi/gems/rake@13.0.1.rbi +841 -0
- data/sorbet/rbi/gems/rexml@3.2.4.rbi +8 -0
- data/sorbet/rbi/gems/rubocop-performance@1.5.2.rbi +8 -0
- data/sorbet/rbi/gems/rubocop-shopify@1.0.2.rbi +8 -0
- data/sorbet/rbi/gems/rubocop-sorbet@0.3.7.rbi +8 -0
- data/sorbet/rbi/gems/rubocop@0.82.0.rbi +8 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.10.1.rbi +8 -0
- data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +168 -0
- data/sorbet/rbi/gems/spoom@1.0.4.rbi +418 -0
- data/sorbet/rbi/gems/spring@2.1.0.rbi +160 -0
- data/sorbet/rbi/gems/sprockets-rails@3.2.1.rbi +431 -0
- data/sorbet/rbi/gems/sprockets@4.0.0.rbi +1132 -0
- data/sorbet/rbi/gems/tapioca@0.4.5.rbi +518 -0
- data/sorbet/rbi/gems/thor@1.0.1.rbi +892 -0
- data/sorbet/rbi/gems/tzinfo@2.0.2.rbi +547 -0
- data/sorbet/rbi/gems/unicode-display_width@1.7.0.rbi +8 -0
- data/sorbet/rbi/gems/websocket-driver@0.7.1.rbi +438 -0
- data/sorbet/rbi/gems/websocket-extensions@0.1.4.rbi +71 -0
- data/sorbet/rbi/gems/zeitwerk@2.3.0.rbi +8 -0
- data/sorbet/tapioca/require.rb +25 -0
- data/static/packwerk-check-demo.png +0 -0
- data/static/packwerk_check.gif +0 -0
- data/static/packwerk_check_violation.gif +0 -0
- data/static/packwerk_update.gif +0 -0
- data/static/packwerk_validate.gif +0 -0
- metadata +341 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
# DO NOT EDIT MANUALLY
|
2
|
+
# This is an autogenerated file for types exported from the `marcel` gem.
|
3
|
+
# Please instead update this file by running `dev typecheck update`.
|
4
|
+
|
5
|
+
# typed: true
|
6
|
+
|
7
|
+
module Marcel
|
8
|
+
end
|
9
|
+
|
10
|
+
class Marcel::MimeType
|
11
|
+
class << self
|
12
|
+
def extend(type, extensions: T.unsafe(nil), parents: T.unsafe(nil), magic: T.unsafe(nil)); end
|
13
|
+
def for(pathname_or_io = T.unsafe(nil), name: T.unsafe(nil), extension: T.unsafe(nil), declared_type: T.unsafe(nil)); end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def for_data(pathname_or_io); end
|
18
|
+
def for_declared_type(declared_type); end
|
19
|
+
def for_extension(extension); end
|
20
|
+
def for_name(name); end
|
21
|
+
def most_specific_type(from_magic_type, fallback_type); end
|
22
|
+
def parse_media_type(content_type); end
|
23
|
+
def root_types(type); end
|
24
|
+
def with_io(pathname_or_io, &block); end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
Marcel::MimeType::BINARY = T.let(T.unsafe(nil), String)
|
29
|
+
|
30
|
+
Marcel::VERSION = T.let(T.unsafe(nil), String)
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# DO NOT EDIT MANUALLY
|
2
|
+
# This is an autogenerated file for types exported from the `method_source` gem.
|
3
|
+
# Please instead update this file by running `dev typecheck update`.
|
4
|
+
|
5
|
+
# typed: true
|
6
|
+
|
7
|
+
module MethodSource
|
8
|
+
extend(::MethodSource::CodeHelpers)
|
9
|
+
|
10
|
+
class << self
|
11
|
+
def comment_helper(source_location, name = T.unsafe(nil)); end
|
12
|
+
def extract_code(source_location); end
|
13
|
+
def lines_for(file_name, name = T.unsafe(nil)); end
|
14
|
+
def source_helper(source_location, name = T.unsafe(nil)); end
|
15
|
+
def valid_expression?(str); end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
module MethodSource::CodeHelpers
|
20
|
+
def comment_describing(file, line_number); end
|
21
|
+
def complete_expression?(str); end
|
22
|
+
def expression_at(file, line_number, options = T.unsafe(nil)); end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def extract_first_expression(lines, consume = T.unsafe(nil), &block); end
|
27
|
+
def extract_last_comment(lines); end
|
28
|
+
end
|
29
|
+
|
30
|
+
module MethodSource::CodeHelpers::IncompleteExpression
|
31
|
+
class << self
|
32
|
+
def ===(ex); end
|
33
|
+
def rbx?; end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
MethodSource::CodeHelpers::IncompleteExpression::GENERIC_REGEXPS = T.let(T.unsafe(nil), Array)
|
38
|
+
|
39
|
+
MethodSource::CodeHelpers::IncompleteExpression::RBX_ONLY_REGEXPS = T.let(T.unsafe(nil), Array)
|
40
|
+
|
41
|
+
module MethodSource::MethodExtensions
|
42
|
+
def comment; end
|
43
|
+
def source; end
|
44
|
+
|
45
|
+
class << self
|
46
|
+
def included(klass); end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
module MethodSource::ReeSourceLocation
|
51
|
+
def source_location; end
|
52
|
+
end
|
53
|
+
|
54
|
+
module MethodSource::SourceLocation
|
55
|
+
end
|
56
|
+
|
57
|
+
module MethodSource::SourceLocation::MethodExtensions
|
58
|
+
def source_location; end
|
59
|
+
|
60
|
+
private
|
61
|
+
|
62
|
+
def trace_func(event, file, line, id, binding, classname); end
|
63
|
+
end
|
64
|
+
|
65
|
+
module MethodSource::SourceLocation::ProcExtensions
|
66
|
+
def source_location; end
|
67
|
+
end
|
68
|
+
|
69
|
+
module MethodSource::SourceLocation::UnboundMethodExtensions
|
70
|
+
def source_location; end
|
71
|
+
end
|
72
|
+
|
73
|
+
class MethodSource::SourceNotFoundError < ::StandardError
|
74
|
+
end
|
75
|
+
|
76
|
+
MethodSource::VERSION = T.let(T.unsafe(nil), String)
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# DO NOT EDIT MANUALLY
|
2
|
+
# This is an autogenerated file for types exported from the `mimemagic` gem.
|
3
|
+
# Please instead update this file by running `dev typecheck update`.
|
4
|
+
|
5
|
+
# typed: true
|
6
|
+
|
7
|
+
class MimeMagic
|
8
|
+
def initialize(type); end
|
9
|
+
|
10
|
+
def ==(other); end
|
11
|
+
def audio?; end
|
12
|
+
def child_of?(parent); end
|
13
|
+
def comment; end
|
14
|
+
def eql?(other); end
|
15
|
+
def extensions; end
|
16
|
+
def hash; end
|
17
|
+
def image?; end
|
18
|
+
def mediatype; end
|
19
|
+
def subtype; end
|
20
|
+
def text?; end
|
21
|
+
def to_s; end
|
22
|
+
def type; end
|
23
|
+
def video?; end
|
24
|
+
|
25
|
+
class << self
|
26
|
+
def add(type, options); end
|
27
|
+
def all_by_magic(io); end
|
28
|
+
def by_extension(ext); end
|
29
|
+
def by_magic(io); end
|
30
|
+
def by_path(path); end
|
31
|
+
def child?(child, parent); end
|
32
|
+
def remove(type); end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def magic_match(io, method); end
|
37
|
+
def magic_match_io(io, matches, buffer); end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
MimeMagic::EXTENSIONS = T.let(T.unsafe(nil), Hash)
|
42
|
+
|
43
|
+
MimeMagic::MAGIC = T.let(T.unsafe(nil), Array)
|
44
|
+
|
45
|
+
MimeMagic::TYPES = T.let(T.unsafe(nil), Hash)
|
46
|
+
|
47
|
+
MimeMagic::VERSION = T.let(T.unsafe(nil), String)
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# DO NOT EDIT MANUALLY
|
2
|
+
# This is an autogenerated file for types exported from the `mini_mime` gem.
|
3
|
+
# Please instead update this file by running `dev typecheck update`.
|
4
|
+
|
5
|
+
# typed: true
|
6
|
+
|
7
|
+
module MiniMime
|
8
|
+
class << self
|
9
|
+
def lookup_by_content_type(mime); end
|
10
|
+
def lookup_by_extension(extension); end
|
11
|
+
def lookup_by_filename(filename); end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
module MiniMime::Configuration
|
16
|
+
class << self
|
17
|
+
def content_type_db_path; end
|
18
|
+
def content_type_db_path=(_); end
|
19
|
+
def ext_db_path; end
|
20
|
+
def ext_db_path=(_); end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
class MiniMime::Db
|
25
|
+
def initialize; end
|
26
|
+
|
27
|
+
def lookup_by_content_type(content_type); end
|
28
|
+
def lookup_by_extension(extension); end
|
29
|
+
|
30
|
+
class << self
|
31
|
+
def lookup_by_content_type(content_type); end
|
32
|
+
def lookup_by_extension(extension); end
|
33
|
+
def lookup_by_filename(filename); end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
class MiniMime::Db::Cache
|
38
|
+
def initialize(size); end
|
39
|
+
|
40
|
+
def []=(key, val); end
|
41
|
+
def fetch(key, &blk); end
|
42
|
+
end
|
43
|
+
|
44
|
+
MiniMime::Db::LOCK = T.let(T.unsafe(nil), Thread::Mutex)
|
45
|
+
|
46
|
+
class MiniMime::Db::RandomAccessDb
|
47
|
+
def initialize(path, sort_order); end
|
48
|
+
|
49
|
+
def lookup(val); end
|
50
|
+
def lookup_uncached(val); end
|
51
|
+
def resolve(row); end
|
52
|
+
end
|
53
|
+
|
54
|
+
MiniMime::Db::RandomAccessDb::MAX_CACHED = T.let(T.unsafe(nil), Integer)
|
55
|
+
|
56
|
+
class MiniMime::Info
|
57
|
+
def initialize(buffer); end
|
58
|
+
|
59
|
+
def [](idx); end
|
60
|
+
def binary?; end
|
61
|
+
def content_type; end
|
62
|
+
def content_type=(_); end
|
63
|
+
def encoding; end
|
64
|
+
def encoding=(_); end
|
65
|
+
def extension; end
|
66
|
+
def extension=(_); end
|
67
|
+
end
|
68
|
+
|
69
|
+
MiniMime::Info::BINARY_ENCODINGS = T.let(T.unsafe(nil), Array)
|
70
|
+
|
71
|
+
MiniMime::VERSION = T.let(T.unsafe(nil), String)
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# DO NOT EDIT MANUALLY
|
2
|
+
# This is an autogenerated file for types exported from the `mini_portile2` gem.
|
3
|
+
# Please instead update this file by running `dev typecheck update`.
|
4
|
+
|
5
|
+
# typed: true
|
6
|
+
|
7
|
+
# THIS IS AN EMPTY RBI FILE.
|
8
|
+
# see https://github.com/Shopify/tapioca/blob/master/README.md#manual-gem-requires
|
@@ -0,0 +1,542 @@
|
|
1
|
+
# DO NOT EDIT MANUALLY
|
2
|
+
# This is an autogenerated file for types exported from the `minitest` gem.
|
3
|
+
# Please instead update this file by running `dev typecheck update`.
|
4
|
+
|
5
|
+
# typed: true
|
6
|
+
|
7
|
+
module Kernel
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def describe(desc, *additional_desc, &block); end
|
12
|
+
end
|
13
|
+
|
14
|
+
module Minitest
|
15
|
+
class << self
|
16
|
+
def __run(reporter, options); end
|
17
|
+
def after_run(&block); end
|
18
|
+
def autorun; end
|
19
|
+
def backtrace_filter; end
|
20
|
+
def backtrace_filter=(_); end
|
21
|
+
def clock_time; end
|
22
|
+
def extensions; end
|
23
|
+
def extensions=(_); end
|
24
|
+
def filter_backtrace(bt); end
|
25
|
+
def info_signal; end
|
26
|
+
def info_signal=(_); end
|
27
|
+
def init_plugins(options); end
|
28
|
+
def load_plugins; end
|
29
|
+
def parallel_executor; end
|
30
|
+
def parallel_executor=(_); end
|
31
|
+
def process_args(args = T.unsafe(nil)); end
|
32
|
+
def reporter; end
|
33
|
+
def reporter=(_); end
|
34
|
+
def run(args = T.unsafe(nil)); end
|
35
|
+
def run_one_method(klass, method_name); end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
class Minitest::AbstractReporter
|
40
|
+
include(::Mutex_m)
|
41
|
+
|
42
|
+
def lock; end
|
43
|
+
def locked?; end
|
44
|
+
def passed?; end
|
45
|
+
def prerecord(klass, name); end
|
46
|
+
def record(result); end
|
47
|
+
def report; end
|
48
|
+
def start; end
|
49
|
+
def synchronize(&block); end
|
50
|
+
def try_lock; end
|
51
|
+
def unlock; end
|
52
|
+
end
|
53
|
+
|
54
|
+
class Minitest::Assertion < ::Exception
|
55
|
+
def error; end
|
56
|
+
def location; end
|
57
|
+
def result_code; end
|
58
|
+
def result_label; end
|
59
|
+
end
|
60
|
+
|
61
|
+
module Minitest::Assertions
|
62
|
+
def _synchronize; end
|
63
|
+
def assert(test, msg = T.unsafe(nil)); end
|
64
|
+
def assert_empty(obj, msg = T.unsafe(nil)); end
|
65
|
+
def assert_equal(exp, act, msg = T.unsafe(nil)); end
|
66
|
+
def assert_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end
|
67
|
+
def assert_in_epsilon(exp, act, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end
|
68
|
+
def assert_includes(collection, obj, msg = T.unsafe(nil)); end
|
69
|
+
def assert_instance_of(cls, obj, msg = T.unsafe(nil)); end
|
70
|
+
def assert_kind_of(cls, obj, msg = T.unsafe(nil)); end
|
71
|
+
def assert_match(matcher, obj, msg = T.unsafe(nil)); end
|
72
|
+
def assert_mock(mock); end
|
73
|
+
def assert_nil(obj, msg = T.unsafe(nil)); end
|
74
|
+
def assert_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end
|
75
|
+
def assert_output(stdout = T.unsafe(nil), stderr = T.unsafe(nil)); end
|
76
|
+
def assert_path_exists(path, msg = T.unsafe(nil)); end
|
77
|
+
def assert_predicate(o1, op, msg = T.unsafe(nil)); end
|
78
|
+
def assert_raises(*exp); end
|
79
|
+
def assert_respond_to(obj, meth, msg = T.unsafe(nil)); end
|
80
|
+
def assert_same(exp, act, msg = T.unsafe(nil)); end
|
81
|
+
def assert_send(send_ary, m = T.unsafe(nil)); end
|
82
|
+
def assert_silent; end
|
83
|
+
def assert_throws(sym, msg = T.unsafe(nil)); end
|
84
|
+
def capture_io; end
|
85
|
+
def capture_subprocess_io; end
|
86
|
+
def diff(exp, act); end
|
87
|
+
def exception_details(e, msg); end
|
88
|
+
def fail_after(y, m, d, msg); end
|
89
|
+
def flunk(msg = T.unsafe(nil)); end
|
90
|
+
def message(msg = T.unsafe(nil), ending = T.unsafe(nil), &default); end
|
91
|
+
def mu_pp(obj); end
|
92
|
+
def mu_pp_for_diff(obj); end
|
93
|
+
def pass(_msg = T.unsafe(nil)); end
|
94
|
+
def refute(test, msg = T.unsafe(nil)); end
|
95
|
+
def refute_empty(obj, msg = T.unsafe(nil)); end
|
96
|
+
def refute_equal(exp, act, msg = T.unsafe(nil)); end
|
97
|
+
def refute_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end
|
98
|
+
def refute_in_epsilon(a, b, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end
|
99
|
+
def refute_includes(collection, obj, msg = T.unsafe(nil)); end
|
100
|
+
def refute_instance_of(cls, obj, msg = T.unsafe(nil)); end
|
101
|
+
def refute_kind_of(cls, obj, msg = T.unsafe(nil)); end
|
102
|
+
def refute_match(matcher, obj, msg = T.unsafe(nil)); end
|
103
|
+
def refute_nil(obj, msg = T.unsafe(nil)); end
|
104
|
+
def refute_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end
|
105
|
+
def refute_path_exists(path, msg = T.unsafe(nil)); end
|
106
|
+
def refute_predicate(o1, op, msg = T.unsafe(nil)); end
|
107
|
+
def refute_respond_to(obj, meth, msg = T.unsafe(nil)); end
|
108
|
+
def refute_same(exp, act, msg = T.unsafe(nil)); end
|
109
|
+
def skip(msg = T.unsafe(nil), bt = T.unsafe(nil)); end
|
110
|
+
def skip_until(y, m, d, msg); end
|
111
|
+
def skipped?; end
|
112
|
+
def things_to_diff(exp, act); end
|
113
|
+
|
114
|
+
class << self
|
115
|
+
def diff; end
|
116
|
+
def diff=(o); end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
Minitest::Assertions::E = T.let(T.unsafe(nil), String)
|
121
|
+
|
122
|
+
Minitest::Assertions::UNDEFINED = T.let(T.unsafe(nil), Object)
|
123
|
+
|
124
|
+
class Minitest::BacktraceFilter
|
125
|
+
def filter(bt); end
|
126
|
+
end
|
127
|
+
|
128
|
+
Minitest::BacktraceFilter::MT_RE = T.let(T.unsafe(nil), Regexp)
|
129
|
+
|
130
|
+
class Minitest::CompositeReporter < ::Minitest::AbstractReporter
|
131
|
+
def initialize(*reporters); end
|
132
|
+
|
133
|
+
def <<(reporter); end
|
134
|
+
def io; end
|
135
|
+
def passed?; end
|
136
|
+
def prerecord(klass, name); end
|
137
|
+
def record(result); end
|
138
|
+
def report; end
|
139
|
+
def reporters; end
|
140
|
+
def reporters=(_); end
|
141
|
+
def start; end
|
142
|
+
end
|
143
|
+
|
144
|
+
Minitest::ENCS = T.let(T.unsafe(nil), TrueClass)
|
145
|
+
|
146
|
+
class Minitest::Expectation < ::Struct
|
147
|
+
def ctx; end
|
148
|
+
def ctx=(_); end
|
149
|
+
def must_be(*args); end
|
150
|
+
def must_be_close_to(*args); end
|
151
|
+
def must_be_empty(*args); end
|
152
|
+
def must_be_instance_of(*args); end
|
153
|
+
def must_be_kind_of(*args); end
|
154
|
+
def must_be_nil(*args); end
|
155
|
+
def must_be_same_as(*args); end
|
156
|
+
def must_be_silent(*args); end
|
157
|
+
def must_be_within_delta(*args); end
|
158
|
+
def must_be_within_epsilon(*args); end
|
159
|
+
def must_equal(*args); end
|
160
|
+
def must_include(*args); end
|
161
|
+
def must_match(*args); end
|
162
|
+
def must_output(*args); end
|
163
|
+
def must_raise(*args); end
|
164
|
+
def must_respond_to(*args); end
|
165
|
+
def must_throw(*args); end
|
166
|
+
def path_must_exist(*args); end
|
167
|
+
def path_wont_exist(*args); end
|
168
|
+
def target; end
|
169
|
+
def target=(_); end
|
170
|
+
def wont_be(*args); end
|
171
|
+
def wont_be_close_to(*args); end
|
172
|
+
def wont_be_empty(*args); end
|
173
|
+
def wont_be_instance_of(*args); end
|
174
|
+
def wont_be_kind_of(*args); end
|
175
|
+
def wont_be_nil(*args); end
|
176
|
+
def wont_be_same_as(*args); end
|
177
|
+
def wont_be_within_delta(*args); end
|
178
|
+
def wont_be_within_epsilon(*args); end
|
179
|
+
def wont_equal(*args); end
|
180
|
+
def wont_include(*args); end
|
181
|
+
def wont_match(*args); end
|
182
|
+
def wont_respond_to(*args); end
|
183
|
+
|
184
|
+
class << self
|
185
|
+
def [](*_); end
|
186
|
+
def inspect; end
|
187
|
+
def members; end
|
188
|
+
def new(*_); end
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
192
|
+
module Minitest::Expectations
|
193
|
+
def must_be(*args); end
|
194
|
+
def must_be_close_to(*args); end
|
195
|
+
def must_be_empty(*args); end
|
196
|
+
def must_be_instance_of(*args); end
|
197
|
+
def must_be_kind_of(*args); end
|
198
|
+
def must_be_nil(*args); end
|
199
|
+
def must_be_same_as(*args); end
|
200
|
+
def must_be_silent(*args); end
|
201
|
+
def must_be_within_delta(*args); end
|
202
|
+
def must_be_within_epsilon(*args); end
|
203
|
+
def must_equal(*args); end
|
204
|
+
def must_include(*args); end
|
205
|
+
def must_match(*args); end
|
206
|
+
def must_output(*args); end
|
207
|
+
def must_raise(*args); end
|
208
|
+
def must_respond_to(*args); end
|
209
|
+
def must_throw(*args); end
|
210
|
+
def path_must_exist(*args); end
|
211
|
+
def path_wont_exist(*args); end
|
212
|
+
def wont_be(*args); end
|
213
|
+
def wont_be_close_to(*args); end
|
214
|
+
def wont_be_empty(*args); end
|
215
|
+
def wont_be_instance_of(*args); end
|
216
|
+
def wont_be_kind_of(*args); end
|
217
|
+
def wont_be_nil(*args); end
|
218
|
+
def wont_be_same_as(*args); end
|
219
|
+
def wont_be_within_delta(*args); end
|
220
|
+
def wont_be_within_epsilon(*args); end
|
221
|
+
def wont_equal(*args); end
|
222
|
+
def wont_include(*args); end
|
223
|
+
def wont_match(*args); end
|
224
|
+
def wont_respond_to(*args); end
|
225
|
+
end
|
226
|
+
|
227
|
+
module Minitest::Guard
|
228
|
+
def jruby?(platform = T.unsafe(nil)); end
|
229
|
+
def maglev?(platform = T.unsafe(nil)); end
|
230
|
+
def mri?(platform = T.unsafe(nil)); end
|
231
|
+
def osx?(platform = T.unsafe(nil)); end
|
232
|
+
def rubinius?(platform = T.unsafe(nil)); end
|
233
|
+
def windows?(platform = T.unsafe(nil)); end
|
234
|
+
end
|
235
|
+
|
236
|
+
class Minitest::Mock
|
237
|
+
def initialize(delegator = T.unsafe(nil)); end
|
238
|
+
|
239
|
+
def ===(*args, &b); end
|
240
|
+
def __call(name, data); end
|
241
|
+
def __respond_to?(*_); end
|
242
|
+
def class(*args, &b); end
|
243
|
+
def expect(name, retval, args = T.unsafe(nil), &blk); end
|
244
|
+
def inspect(*args, &b); end
|
245
|
+
def instance_eval(*args, &b); end
|
246
|
+
def instance_variables(*args, &b); end
|
247
|
+
def method_missing(sym, *args, &block); end
|
248
|
+
def object_id(*args, &b); end
|
249
|
+
def public_send(*args, &b); end
|
250
|
+
def respond_to?(sym, include_private = T.unsafe(nil)); end
|
251
|
+
def send(*args, &b); end
|
252
|
+
def to_s(*args, &b); end
|
253
|
+
def verify; end
|
254
|
+
|
255
|
+
private
|
256
|
+
|
257
|
+
def respond_to_missing?(*args, &b); end
|
258
|
+
end
|
259
|
+
|
260
|
+
module Minitest::Parallel
|
261
|
+
end
|
262
|
+
|
263
|
+
class Minitest::Parallel::Executor
|
264
|
+
def initialize(size); end
|
265
|
+
|
266
|
+
def <<(work); end
|
267
|
+
def shutdown; end
|
268
|
+
def size; end
|
269
|
+
def start; end
|
270
|
+
end
|
271
|
+
|
272
|
+
module Minitest::Parallel::Test
|
273
|
+
def _synchronize; end
|
274
|
+
end
|
275
|
+
|
276
|
+
module Minitest::Parallel::Test::ClassMethods
|
277
|
+
def run_one_method(klass, method_name, reporter); end
|
278
|
+
def test_order; end
|
279
|
+
end
|
280
|
+
|
281
|
+
class Minitest::ProgressReporter < ::Minitest::Reporter
|
282
|
+
def prerecord(klass, name); end
|
283
|
+
def record(result); end
|
284
|
+
end
|
285
|
+
|
286
|
+
module Minitest::Reportable
|
287
|
+
def class_name; end
|
288
|
+
def error?; end
|
289
|
+
def location; end
|
290
|
+
def passed?; end
|
291
|
+
def result_code; end
|
292
|
+
def skipped?; end
|
293
|
+
end
|
294
|
+
|
295
|
+
class Minitest::Reporter < ::Minitest::AbstractReporter
|
296
|
+
def initialize(io = T.unsafe(nil), options = T.unsafe(nil)); end
|
297
|
+
|
298
|
+
def io; end
|
299
|
+
def io=(_); end
|
300
|
+
def options; end
|
301
|
+
def options=(_); end
|
302
|
+
end
|
303
|
+
|
304
|
+
class Minitest::Result < ::Minitest::Runnable
|
305
|
+
include(::Minitest::Reportable)
|
306
|
+
|
307
|
+
def class_name; end
|
308
|
+
def klass; end
|
309
|
+
def klass=(_); end
|
310
|
+
def source_location; end
|
311
|
+
def source_location=(_); end
|
312
|
+
def to_s; end
|
313
|
+
|
314
|
+
class << self
|
315
|
+
def from(runnable); end
|
316
|
+
end
|
317
|
+
end
|
318
|
+
|
319
|
+
class Minitest::Runnable
|
320
|
+
def initialize(name); end
|
321
|
+
|
322
|
+
def assertions; end
|
323
|
+
def assertions=(_); end
|
324
|
+
def failure; end
|
325
|
+
def failures; end
|
326
|
+
def failures=(_); end
|
327
|
+
def marshal_dump; end
|
328
|
+
def marshal_load(ary); end
|
329
|
+
def name; end
|
330
|
+
def name=(o); end
|
331
|
+
def passed?; end
|
332
|
+
def result_code; end
|
333
|
+
def run; end
|
334
|
+
def skipped?; end
|
335
|
+
def time; end
|
336
|
+
def time=(_); end
|
337
|
+
def time_it; end
|
338
|
+
|
339
|
+
class << self
|
340
|
+
def inherited(klass); end
|
341
|
+
def methods_matching(re); end
|
342
|
+
def on_signal(name, action); end
|
343
|
+
def reset; end
|
344
|
+
def run(reporter, options = T.unsafe(nil)); end
|
345
|
+
def run_one_method(klass, method_name, reporter); end
|
346
|
+
def runnable_methods; end
|
347
|
+
def runnables; end
|
348
|
+
def with_info_handler(reporter, &block); end
|
349
|
+
end
|
350
|
+
end
|
351
|
+
|
352
|
+
Minitest::Runnable::SIGNALS = T.let(T.unsafe(nil), Hash)
|
353
|
+
|
354
|
+
class Minitest::Skip < ::Minitest::Assertion
|
355
|
+
def result_label; end
|
356
|
+
end
|
357
|
+
|
358
|
+
class Minitest::Spec < ::Minitest::Test
|
359
|
+
include(::Minitest::Spec::DSL::InstanceMethods)
|
360
|
+
extend(::Minitest::Spec::DSL)
|
361
|
+
|
362
|
+
def initialize(name); end
|
363
|
+
|
364
|
+
class << self
|
365
|
+
def current; end
|
366
|
+
end
|
367
|
+
end
|
368
|
+
|
369
|
+
module Minitest::Spec::DSL
|
370
|
+
def after(_type = T.unsafe(nil), &block); end
|
371
|
+
def before(_type = T.unsafe(nil), &block); end
|
372
|
+
def children; end
|
373
|
+
def create(name, desc); end
|
374
|
+
def desc; end
|
375
|
+
def describe_stack; end
|
376
|
+
def it(desc = T.unsafe(nil), &block); end
|
377
|
+
def let(name, &block); end
|
378
|
+
def name; end
|
379
|
+
def nuke_test_methods!; end
|
380
|
+
def register_spec_type(*args, &block); end
|
381
|
+
def spec_type(desc, *additional); end
|
382
|
+
def specify(desc = T.unsafe(nil), &block); end
|
383
|
+
def subject(&block); end
|
384
|
+
def to_s; end
|
385
|
+
|
386
|
+
class << self
|
387
|
+
def extended(obj); end
|
388
|
+
end
|
389
|
+
end
|
390
|
+
|
391
|
+
module Minitest::Spec::DSL::InstanceMethods
|
392
|
+
def _(value = T.unsafe(nil), &block); end
|
393
|
+
def before_setup; end
|
394
|
+
def expect(value = T.unsafe(nil), &block); end
|
395
|
+
def value(value = T.unsafe(nil), &block); end
|
396
|
+
end
|
397
|
+
|
398
|
+
Minitest::Spec::DSL::TYPES = T.let(T.unsafe(nil), Array)
|
399
|
+
|
400
|
+
Minitest::Spec::TYPES = T.let(T.unsafe(nil), Array)
|
401
|
+
|
402
|
+
class Minitest::StatisticsReporter < ::Minitest::Reporter
|
403
|
+
def initialize(io = T.unsafe(nil), options = T.unsafe(nil)); end
|
404
|
+
|
405
|
+
def assertions; end
|
406
|
+
def assertions=(_); end
|
407
|
+
def count; end
|
408
|
+
def count=(_); end
|
409
|
+
def errors; end
|
410
|
+
def errors=(_); end
|
411
|
+
def failures; end
|
412
|
+
def failures=(_); end
|
413
|
+
def passed?; end
|
414
|
+
def record(result); end
|
415
|
+
def report; end
|
416
|
+
def results; end
|
417
|
+
def results=(_); end
|
418
|
+
def skips; end
|
419
|
+
def skips=(_); end
|
420
|
+
def start; end
|
421
|
+
def start_time; end
|
422
|
+
def start_time=(_); end
|
423
|
+
def total_time; end
|
424
|
+
def total_time=(_); end
|
425
|
+
end
|
426
|
+
|
427
|
+
class Minitest::SummaryReporter < ::Minitest::StatisticsReporter
|
428
|
+
def aggregated_results(io); end
|
429
|
+
def old_sync; end
|
430
|
+
def old_sync=(_); end
|
431
|
+
def report; end
|
432
|
+
def start; end
|
433
|
+
def statistics; end
|
434
|
+
def summary; end
|
435
|
+
def sync; end
|
436
|
+
def sync=(_); end
|
437
|
+
def to_s; end
|
438
|
+
|
439
|
+
private
|
440
|
+
|
441
|
+
def binary_string; end
|
442
|
+
end
|
443
|
+
|
444
|
+
class Minitest::Test < ::Minitest::Runnable
|
445
|
+
include(::Minitest::Assertions)
|
446
|
+
include(::Minitest::Reportable)
|
447
|
+
include(::Minitest::Test::LifecycleHooks)
|
448
|
+
include(::Minitest::Guard)
|
449
|
+
include(::Mocha::ParameterMatchers)
|
450
|
+
include(::Mocha::Hooks)
|
451
|
+
include(::Mocha::API)
|
452
|
+
include(::Mocha::Integration::MiniTest::Adapter)
|
453
|
+
extend(::Minitest::Guard)
|
454
|
+
|
455
|
+
def capture_exceptions; end
|
456
|
+
def class_name; end
|
457
|
+
def run; end
|
458
|
+
def with_info_handler(&block); end
|
459
|
+
|
460
|
+
class << self
|
461
|
+
def i_suck_and_my_tests_are_order_dependent!; end
|
462
|
+
def io_lock; end
|
463
|
+
def io_lock=(_); end
|
464
|
+
def make_my_diffs_pretty!; end
|
465
|
+
def parallelize_me!; end
|
466
|
+
def runnable_methods; end
|
467
|
+
def test_order; end
|
468
|
+
end
|
469
|
+
end
|
470
|
+
|
471
|
+
module Minitest::Test::LifecycleHooks
|
472
|
+
def after_setup; end
|
473
|
+
def after_teardown; end
|
474
|
+
def before_setup; end
|
475
|
+
def before_teardown; end
|
476
|
+
def setup; end
|
477
|
+
def teardown; end
|
478
|
+
end
|
479
|
+
|
480
|
+
Minitest::Test::PASSTHROUGH_EXCEPTIONS = T.let(T.unsafe(nil), Array)
|
481
|
+
|
482
|
+
Minitest::Test::TEARDOWN_METHODS = T.let(T.unsafe(nil), Array)
|
483
|
+
|
484
|
+
class Minitest::UnexpectedError < ::Minitest::Assertion
|
485
|
+
def initialize(error); end
|
486
|
+
|
487
|
+
def backtrace; end
|
488
|
+
def error; end
|
489
|
+
def error=(_); end
|
490
|
+
def message; end
|
491
|
+
def result_label; end
|
492
|
+
end
|
493
|
+
|
494
|
+
class Minitest::Unit
|
495
|
+
class << self
|
496
|
+
def after_tests(&b); end
|
497
|
+
def autorun; end
|
498
|
+
end
|
499
|
+
end
|
500
|
+
|
501
|
+
class Minitest::Unit::TestCase < ::Minitest::Test
|
502
|
+
class << self
|
503
|
+
def inherited(klass); end
|
504
|
+
end
|
505
|
+
end
|
506
|
+
|
507
|
+
Minitest::Unit::VERSION = T.let(T.unsafe(nil), String)
|
508
|
+
|
509
|
+
Minitest::VERSION = T.let(T.unsafe(nil), String)
|
510
|
+
|
511
|
+
class MockExpectationError < ::StandardError
|
512
|
+
end
|
513
|
+
|
514
|
+
class Module
|
515
|
+
include(::ActiveSupport::Dependencies::ModuleConstMissing)
|
516
|
+
include(::Module::Concerning)
|
517
|
+
|
518
|
+
def infect_an_assertion(meth, new_name, dont_flip = T.unsafe(nil)); end
|
519
|
+
end
|
520
|
+
|
521
|
+
Module::DELEGATION_RESERVED_KEYWORDS = T.let(T.unsafe(nil), Array)
|
522
|
+
|
523
|
+
Module::DELEGATION_RESERVED_METHOD_NAMES = T.let(T.unsafe(nil), Set)
|
524
|
+
|
525
|
+
Module::RUBY_RESERVED_KEYWORDS = T.let(T.unsafe(nil), Array)
|
526
|
+
|
527
|
+
class Object < ::BasicObject
|
528
|
+
include(::ActiveSupport::ToJsonWithActiveSupportEncoder)
|
529
|
+
include(::ActiveSupport::ForkTracker::CoreExt)
|
530
|
+
include(::ActiveSupport::ForkTracker::CoreExtPrivate)
|
531
|
+
include(::Kernel)
|
532
|
+
include(::JSON::Ext::Generator::GeneratorMethods::Object)
|
533
|
+
include(::ActiveSupport::Tryable)
|
534
|
+
include(::ActiveSupport::Dependencies::Loadable)
|
535
|
+
include(::Minitest::Expectations)
|
536
|
+
include(::Mocha::ParameterMatchers::InstanceMethods)
|
537
|
+
include(::Mocha::Inspect::ObjectMethods)
|
538
|
+
include(::Mocha::ObjectMethods)
|
539
|
+
include(::PP::ObjectMixin)
|
540
|
+
|
541
|
+
def stub(name, val_or_callable, *block_args); end
|
542
|
+
end
|