rbs-relaxed 3.9.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/dependabot.yml +22 -0
- data/.github/workflows/comments.yml +35 -0
- data/.github/workflows/dependabot.yml +30 -0
- data/.github/workflows/ruby.yml +82 -0
- data/.github/workflows/typecheck.yml +38 -0
- data/.github/workflows/windows.yml +43 -0
- data/.gitignore +23 -0
- data/.rubocop.yml +68 -0
- data/BSDL +22 -0
- data/CHANGELOG.md +1868 -0
- data/COPYING +56 -0
- data/README.md +203 -0
- data/Rakefile +417 -0
- data/Steepfile +44 -0
- data/config.yml +313 -0
- data/core/array.rbs +4062 -0
- data/core/basic_object.rbs +375 -0
- data/core/binding.rbs +150 -0
- data/core/builtin.rbs +277 -0
- data/core/class.rbs +220 -0
- data/core/comparable.rbs +171 -0
- data/core/complex.rbs +786 -0
- data/core/constants.rbs +96 -0
- data/core/data.rbs +415 -0
- data/core/dir.rbs +981 -0
- data/core/encoding.rbs +1371 -0
- data/core/enumerable.rbs +2405 -0
- data/core/enumerator/product.rbs +92 -0
- data/core/enumerator.rbs +630 -0
- data/core/env.rbs +6 -0
- data/core/errno.rbs +673 -0
- data/core/errors.rbs +760 -0
- data/core/exception.rbs +485 -0
- data/core/false_class.rbs +82 -0
- data/core/fiber.rbs +550 -0
- data/core/fiber_error.rbs +11 -0
- data/core/file.rbs +2936 -0
- data/core/file_test.rbs +331 -0
- data/core/float.rbs +1151 -0
- data/core/gc.rbs +644 -0
- data/core/global_variables.rbs +184 -0
- data/core/hash.rbs +1861 -0
- data/core/integer.rbs +1413 -0
- data/core/io/buffer.rbs +984 -0
- data/core/io/wait.rbs +70 -0
- data/core/io.rbs +3406 -0
- data/core/kernel.rbs +3096 -0
- data/core/marshal.rbs +207 -0
- data/core/match_data.rbs +635 -0
- data/core/math.rbs +729 -0
- data/core/method.rbs +386 -0
- data/core/module.rbs +1704 -0
- data/core/nil_class.rbs +209 -0
- data/core/numeric.rbs +818 -0
- data/core/object.rbs +110 -0
- data/core/object_space/weak_key_map.rbs +166 -0
- data/core/object_space.rbs +190 -0
- data/core/proc.rbs +868 -0
- data/core/process.rbs +2296 -0
- data/core/ractor.rbs +1068 -0
- data/core/random.rbs +237 -0
- data/core/range.rbs +1107 -0
- data/core/rational.rbs +531 -0
- data/core/rb_config.rbs +88 -0
- data/core/rbs/unnamed/argf.rbs +1229 -0
- data/core/rbs/unnamed/env_class.rbs +1209 -0
- data/core/rbs/unnamed/random.rbs +293 -0
- data/core/refinement.rbs +59 -0
- data/core/regexp.rbs +1930 -0
- data/core/ruby_vm.rbs +765 -0
- data/core/rubygems/basic_specification.rbs +6 -0
- data/core/rubygems/config_file.rbs +38 -0
- data/core/rubygems/dependency_installer.rbs +6 -0
- data/core/rubygems/errors.rbs +176 -0
- data/core/rubygems/installer.rbs +15 -0
- data/core/rubygems/path_support.rbs +6 -0
- data/core/rubygems/platform.rbs +7 -0
- data/core/rubygems/request_set.rbs +49 -0
- data/core/rubygems/requirement.rbs +148 -0
- data/core/rubygems/rubygems.rbs +1171 -0
- data/core/rubygems/source_list.rbs +15 -0
- data/core/rubygems/specification.rbs +23 -0
- data/core/rubygems/stream_ui.rbs +5 -0
- data/core/rubygems/uninstaller.rbs +10 -0
- data/core/rubygems/version.rbs +294 -0
- data/core/set.rbs +621 -0
- data/core/signal.rbs +100 -0
- data/core/string.rbs +3583 -0
- data/core/struct.rbs +667 -0
- data/core/symbol.rbs +475 -0
- data/core/thread.rbs +1765 -0
- data/core/thread_group.rbs +79 -0
- data/core/time.rbs +1762 -0
- data/core/trace_point.rbs +477 -0
- data/core/true_class.rbs +98 -0
- data/core/unbound_method.rbs +329 -0
- data/core/warning.rbs +87 -0
- data/docs/CONTRIBUTING.md +106 -0
- data/docs/architecture.md +110 -0
- data/docs/collection.md +192 -0
- data/docs/data_and_struct.md +86 -0
- data/docs/gem.md +57 -0
- data/docs/rbs_by_example.md +309 -0
- data/docs/repo.md +125 -0
- data/docs/sigs.md +167 -0
- data/docs/stdlib.md +147 -0
- data/docs/syntax.md +910 -0
- data/docs/tools.md +17 -0
- data/exe/rbs +7 -0
- data/ext/rbs_extension/extconf.rb +15 -0
- data/ext/rbs_extension/lexer.c +2728 -0
- data/ext/rbs_extension/lexer.h +179 -0
- data/ext/rbs_extension/lexer.re +147 -0
- data/ext/rbs_extension/lexstate.c +175 -0
- data/ext/rbs_extension/location.c +325 -0
- data/ext/rbs_extension/location.h +85 -0
- data/ext/rbs_extension/main.c +33 -0
- data/ext/rbs_extension/parser.c +2973 -0
- data/ext/rbs_extension/parser.h +18 -0
- data/ext/rbs_extension/parserstate.c +397 -0
- data/ext/rbs_extension/parserstate.h +163 -0
- data/ext/rbs_extension/rbs_extension.h +31 -0
- data/ext/rbs_extension/unescape.c +32 -0
- data/goodcheck.yml +91 -0
- data/include/rbs/constants.h +82 -0
- data/include/rbs/ruby_objs.h +72 -0
- data/include/rbs/util/rbs_constant_pool.h +219 -0
- data/include/rbs.h +7 -0
- data/lib/rbs/ancestor_graph.rb +92 -0
- data/lib/rbs/annotate/annotations.rb +199 -0
- data/lib/rbs/annotate/formatter.rb +92 -0
- data/lib/rbs/annotate/rdoc_annotator.rb +400 -0
- data/lib/rbs/annotate/rdoc_source.rb +131 -0
- data/lib/rbs/annotate.rb +8 -0
- data/lib/rbs/ast/annotation.rb +29 -0
- data/lib/rbs/ast/comment.rb +29 -0
- data/lib/rbs/ast/declarations.rb +467 -0
- data/lib/rbs/ast/directives.rb +49 -0
- data/lib/rbs/ast/members.rb +451 -0
- data/lib/rbs/ast/type_param.rb +225 -0
- data/lib/rbs/ast/visitor.rb +137 -0
- data/lib/rbs/buffer.rb +67 -0
- data/lib/rbs/builtin_names.rb +58 -0
- data/lib/rbs/cli/colored_io.rb +48 -0
- data/lib/rbs/cli/diff.rb +83 -0
- data/lib/rbs/cli/validate.rb +357 -0
- data/lib/rbs/cli.rb +1223 -0
- data/lib/rbs/collection/cleaner.rb +38 -0
- data/lib/rbs/collection/config/lockfile.rb +92 -0
- data/lib/rbs/collection/config/lockfile_generator.rb +218 -0
- data/lib/rbs/collection/config.rb +81 -0
- data/lib/rbs/collection/installer.rb +32 -0
- data/lib/rbs/collection/sources/base.rb +14 -0
- data/lib/rbs/collection/sources/git.rb +258 -0
- data/lib/rbs/collection/sources/local.rb +81 -0
- data/lib/rbs/collection/sources/rubygems.rb +48 -0
- data/lib/rbs/collection/sources/stdlib.rb +50 -0
- data/lib/rbs/collection/sources.rb +38 -0
- data/lib/rbs/collection.rb +16 -0
- data/lib/rbs/constant.rb +28 -0
- data/lib/rbs/definition.rb +401 -0
- data/lib/rbs/definition_builder/ancestor_builder.rb +620 -0
- data/lib/rbs/definition_builder/method_builder.rb +254 -0
- data/lib/rbs/definition_builder.rb +845 -0
- data/lib/rbs/diff.rb +125 -0
- data/lib/rbs/environment/use_map.rb +77 -0
- data/lib/rbs/environment.rb +829 -0
- data/lib/rbs/environment_loader.rb +173 -0
- data/lib/rbs/environment_walker.rb +155 -0
- data/lib/rbs/errors.rb +645 -0
- data/lib/rbs/factory.rb +18 -0
- data/lib/rbs/file_finder.rb +28 -0
- data/lib/rbs/location_aux.rb +138 -0
- data/lib/rbs/locator.rb +243 -0
- data/lib/rbs/method_type.rb +143 -0
- data/lib/rbs/namespace.rb +125 -0
- data/lib/rbs/parser/lex_result.rb +15 -0
- data/lib/rbs/parser/token.rb +23 -0
- data/lib/rbs/parser_aux.rb +114 -0
- data/lib/rbs/prototype/helpers.rb +140 -0
- data/lib/rbs/prototype/node_usage.rb +99 -0
- data/lib/rbs/prototype/rb.rb +840 -0
- data/lib/rbs/prototype/rbi.rb +641 -0
- data/lib/rbs/prototype/runtime/helpers.rb +59 -0
- data/lib/rbs/prototype/runtime/reflection.rb +19 -0
- data/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
- data/lib/rbs/prototype/runtime.rb +667 -0
- data/lib/rbs/repository.rb +127 -0
- data/lib/rbs/resolver/constant_resolver.rb +219 -0
- data/lib/rbs/resolver/type_name_resolver.rb +91 -0
- data/lib/rbs/sorter.rb +198 -0
- data/lib/rbs/substitution.rb +83 -0
- data/lib/rbs/subtractor.rb +201 -0
- data/lib/rbs/test/errors.rb +80 -0
- data/lib/rbs/test/guaranteed.rb +30 -0
- data/lib/rbs/test/hook.rb +212 -0
- data/lib/rbs/test/observer.rb +19 -0
- data/lib/rbs/test/setup.rb +84 -0
- data/lib/rbs/test/setup_helper.rb +50 -0
- data/lib/rbs/test/tester.rb +167 -0
- data/lib/rbs/test/type_check.rb +435 -0
- data/lib/rbs/test.rb +112 -0
- data/lib/rbs/type_alias_dependency.rb +100 -0
- data/lib/rbs/type_alias_regularity.rb +126 -0
- data/lib/rbs/type_name.rb +109 -0
- data/lib/rbs/types.rb +1596 -0
- data/lib/rbs/unit_test/convertibles.rb +176 -0
- data/lib/rbs/unit_test/spy.rb +138 -0
- data/lib/rbs/unit_test/type_assertions.rb +347 -0
- data/lib/rbs/unit_test/with_aliases.rb +143 -0
- data/lib/rbs/unit_test.rb +6 -0
- data/lib/rbs/validator.rb +186 -0
- data/lib/rbs/variance_calculator.rb +189 -0
- data/lib/rbs/vendorer.rb +71 -0
- data/lib/rbs/version.rb +5 -0
- data/lib/rbs/writer.rb +424 -0
- data/lib/rbs.rb +94 -0
- data/lib/rdoc/discover.rb +20 -0
- data/lib/rdoc_plugin/parser.rb +163 -0
- data/rbs-relaxed.gemspec +48 -0
- data/schema/annotation.json +14 -0
- data/schema/comment.json +26 -0
- data/schema/decls.json +326 -0
- data/schema/function.json +87 -0
- data/schema/location.json +56 -0
- data/schema/members.json +266 -0
- data/schema/methodType.json +50 -0
- data/schema/typeParam.json +36 -0
- data/schema/types.json +317 -0
- data/sig/ancestor_builder.rbs +163 -0
- data/sig/ancestor_graph.rbs +60 -0
- data/sig/annotate/annotations.rbs +102 -0
- data/sig/annotate/formatter.rbs +24 -0
- data/sig/annotate/rdoc_annotater.rbs +82 -0
- data/sig/annotate/rdoc_source.rbs +30 -0
- data/sig/annotation.rbs +27 -0
- data/sig/buffer.rbs +32 -0
- data/sig/builtin_names.rbs +44 -0
- data/sig/cli/colored_io.rbs +15 -0
- data/sig/cli/diff.rbs +21 -0
- data/sig/cli/validate.rbs +43 -0
- data/sig/cli.rbs +87 -0
- data/sig/collection/cleaner.rbs +13 -0
- data/sig/collection/config/lockfile.rbs +74 -0
- data/sig/collection/config/lockfile_generator.rbs +66 -0
- data/sig/collection/config.rbs +46 -0
- data/sig/collection/installer.rbs +17 -0
- data/sig/collection/sources.rbs +214 -0
- data/sig/collection.rbs +4 -0
- data/sig/comment.rbs +26 -0
- data/sig/constant.rbs +21 -0
- data/sig/declarations.rbs +267 -0
- data/sig/definition.rbs +173 -0
- data/sig/definition_builder.rbs +165 -0
- data/sig/diff.rbs +28 -0
- data/sig/directives.rbs +77 -0
- data/sig/environment.rbs +279 -0
- data/sig/environment_loader.rbs +111 -0
- data/sig/environment_walker.rbs +65 -0
- data/sig/errors.rbs +405 -0
- data/sig/factory.rbs +5 -0
- data/sig/file_finder.rbs +28 -0
- data/sig/location.rbs +110 -0
- data/sig/locator.rbs +58 -0
- data/sig/manifest.yaml +7 -0
- data/sig/members.rbs +258 -0
- data/sig/method_builder.rbs +84 -0
- data/sig/method_types.rbs +58 -0
- data/sig/namespace.rbs +146 -0
- data/sig/parser.rbs +100 -0
- data/sig/prototype/helpers.rbs +27 -0
- data/sig/prototype/node_usage.rbs +20 -0
- data/sig/prototype/rb.rbs +96 -0
- data/sig/prototype/rbi.rbs +75 -0
- data/sig/prototype/runtime.rbs +182 -0
- data/sig/rbs.rbs +21 -0
- data/sig/rdoc/rbs.rbs +67 -0
- data/sig/repository.rbs +85 -0
- data/sig/resolver/constant_resolver.rbs +92 -0
- data/sig/resolver/context.rbs +34 -0
- data/sig/resolver/type_name_resolver.rbs +35 -0
- data/sig/shims/bundler.rbs +38 -0
- data/sig/shims/enumerable.rbs +5 -0
- data/sig/shims/rubygems.rbs +19 -0
- data/sig/sorter.rbs +41 -0
- data/sig/substitution.rbs +48 -0
- data/sig/subtractor.rbs +37 -0
- data/sig/test/errors.rbs +52 -0
- data/sig/test/guranteed.rbs +9 -0
- data/sig/test/type_check.rbs +19 -0
- data/sig/test.rbs +82 -0
- data/sig/type_alias_dependency.rbs +53 -0
- data/sig/type_alias_regularity.rbs +98 -0
- data/sig/type_param.rbs +110 -0
- data/sig/typename.rbs +79 -0
- data/sig/types.rbs +579 -0
- data/sig/unit_test/convertibles.rbs +154 -0
- data/sig/unit_test/spy.rbs +30 -0
- data/sig/unit_test/type_assertions.rbs +196 -0
- data/sig/unit_test/with_aliases.rbs +136 -0
- data/sig/use_map.rbs +35 -0
- data/sig/util.rbs +9 -0
- data/sig/validator.rbs +63 -0
- data/sig/variance_calculator.rbs +87 -0
- data/sig/vendorer.rbs +51 -0
- data/sig/version.rbs +3 -0
- data/sig/visitor.rbs +47 -0
- data/sig/writer.rbs +127 -0
- data/src/constants.c +153 -0
- data/src/ruby_objs.c +795 -0
- data/src/util/rbs_constant_pool.c +342 -0
- data/stdlib/abbrev/0/abbrev.rbs +66 -0
- data/stdlib/abbrev/0/array.rbs +26 -0
- data/stdlib/base64/0/base64.rbs +355 -0
- data/stdlib/benchmark/0/benchmark.rbs +452 -0
- data/stdlib/bigdecimal/0/big_decimal.rbs +1629 -0
- data/stdlib/bigdecimal-math/0/big_math.rbs +119 -0
- data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
- data/stdlib/cgi/0/core.rbs +1285 -0
- data/stdlib/cgi/0/manifest.yaml +3 -0
- data/stdlib/coverage/0/coverage.rbs +263 -0
- data/stdlib/csv/0/csv.rbs +3776 -0
- data/stdlib/csv/0/manifest.yaml +3 -0
- data/stdlib/date/0/date.rbs +1585 -0
- data/stdlib/date/0/date_time.rbs +616 -0
- data/stdlib/date/0/time.rbs +26 -0
- data/stdlib/dbm/0/dbm.rbs +421 -0
- data/stdlib/delegate/0/delegator.rbs +184 -0
- data/stdlib/delegate/0/kernel.rbs +47 -0
- data/stdlib/delegate/0/simple_delegator.rbs +96 -0
- data/stdlib/did_you_mean/0/did_you_mean.rbs +343 -0
- data/stdlib/digest/0/digest.rbs +577 -0
- data/stdlib/erb/0/erb.rbs +532 -0
- data/stdlib/etc/0/etc.rbs +865 -0
- data/stdlib/fileutils/0/fileutils.rbs +1734 -0
- data/stdlib/find/0/find.rbs +49 -0
- data/stdlib/forwardable/0/forwardable.rbs +268 -0
- data/stdlib/io-console/0/io-console.rbs +414 -0
- data/stdlib/ipaddr/0/ipaddr.rbs +428 -0
- data/stdlib/json/0/json.rbs +1916 -0
- data/stdlib/kconv/0/kconv.rbs +166 -0
- data/stdlib/logger/0/formatter.rbs +45 -0
- data/stdlib/logger/0/log_device.rbs +100 -0
- data/stdlib/logger/0/logger.rbs +796 -0
- data/stdlib/logger/0/manifest.yaml +2 -0
- data/stdlib/logger/0/period.rbs +17 -0
- data/stdlib/logger/0/severity.rbs +34 -0
- data/stdlib/minitest/0/kernel.rbs +42 -0
- data/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
- data/stdlib/minitest/0/minitest/assertion.rbs +17 -0
- data/stdlib/minitest/0/minitest/assertions.rbs +590 -0
- data/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
- data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
- data/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
- data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
- data/stdlib/minitest/0/minitest/compress.rbs +13 -0
- data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
- data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
- data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
- data/stdlib/minitest/0/minitest/guard.rbs +64 -0
- data/stdlib/minitest/0/minitest/mock.rbs +64 -0
- data/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
- data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
- data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
- data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
- data/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
- data/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
- data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
- data/stdlib/minitest/0/minitest/reportable.rbs +53 -0
- data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
- data/stdlib/minitest/0/minitest/result.rbs +28 -0
- data/stdlib/minitest/0/minitest/runnable.rbs +163 -0
- data/stdlib/minitest/0/minitest/skip.rbs +6 -0
- data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
- data/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
- data/stdlib/minitest/0/minitest/spec.rbs +11 -0
- data/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
- data/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
- data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
- data/stdlib/minitest/0/minitest/test.rbs +69 -0
- data/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
- data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
- data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
- data/stdlib/minitest/0/minitest/unit.rbs +4 -0
- data/stdlib/minitest/0/minitest.rbs +115 -0
- data/stdlib/monitor/0/monitor.rbs +363 -0
- data/stdlib/mutex_m/0/mutex_m.rbs +104 -0
- data/stdlib/net-http/0/manifest.yaml +3 -0
- data/stdlib/net-http/0/net-http.rbs +5552 -0
- data/stdlib/net-protocol/0/manifest.yaml +2 -0
- data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
- data/stdlib/net-smtp/0/manifest.yaml +2 -0
- data/stdlib/net-smtp/0/net-smtp.rbs +55 -0
- data/stdlib/nkf/0/nkf.rbs +402 -0
- data/stdlib/objspace/0/objspace.rbs +487 -0
- data/stdlib/observable/0/observable.rbs +217 -0
- data/stdlib/open-uri/0/manifest.yaml +4 -0
- data/stdlib/open-uri/0/open-uri.rbs +393 -0
- data/stdlib/open3/0/open3.rbs +147 -0
- data/stdlib/openssl/0/manifest.yaml +3 -0
- data/stdlib/openssl/0/openssl.rbs +12113 -0
- data/stdlib/optparse/0/optparse.rbs +1725 -0
- data/stdlib/pathname/0/pathname.rbs +1406 -0
- data/stdlib/pp/0/manifest.yaml +2 -0
- data/stdlib/pp/0/pp.rbs +300 -0
- data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
- data/stdlib/pstore/0/pstore.rbs +603 -0
- data/stdlib/psych/0/core_ext.rbs +12 -0
- data/stdlib/psych/0/dbm.rbs +237 -0
- data/stdlib/psych/0/manifest.yaml +3 -0
- data/stdlib/psych/0/psych.rbs +402 -0
- data/stdlib/psych/0/store.rbs +59 -0
- data/stdlib/pty/0/pty.rbs +237 -0
- data/stdlib/rdoc/0/code_object.rbs +51 -0
- data/stdlib/rdoc/0/comment.rbs +59 -0
- data/stdlib/rdoc/0/context.rbs +153 -0
- data/stdlib/rdoc/0/markup.rbs +117 -0
- data/stdlib/rdoc/0/parser.rbs +56 -0
- data/stdlib/rdoc/0/rdoc.rbs +391 -0
- data/stdlib/rdoc/0/ri.rbs +17 -0
- data/stdlib/rdoc/0/store.rbs +48 -0
- data/stdlib/rdoc/0/top_level.rbs +97 -0
- data/stdlib/resolv/0/manifest.yaml +3 -0
- data/stdlib/resolv/0/resolv.rbs +1830 -0
- data/stdlib/ripper/0/ripper.rbs +1648 -0
- data/stdlib/securerandom/0/securerandom.rbs +62 -0
- data/stdlib/shellwords/0/shellwords.rbs +229 -0
- data/stdlib/singleton/0/singleton.rbs +131 -0
- data/stdlib/socket/0/addrinfo.rbs +666 -0
- data/stdlib/socket/0/basic_socket.rbs +590 -0
- data/stdlib/socket/0/constants.rbs +2295 -0
- data/stdlib/socket/0/ip_socket.rbs +92 -0
- data/stdlib/socket/0/socket.rbs +4157 -0
- data/stdlib/socket/0/socket_error.rbs +5 -0
- data/stdlib/socket/0/tcp_server.rbs +192 -0
- data/stdlib/socket/0/tcp_socket.rbs +79 -0
- data/stdlib/socket/0/udp_socket.rbs +133 -0
- data/stdlib/socket/0/unix_server.rbs +169 -0
- data/stdlib/socket/0/unix_socket.rbs +172 -0
- data/stdlib/stringio/0/stringio.rbs +567 -0
- data/stdlib/strscan/0/string_scanner.rbs +1627 -0
- data/stdlib/tempfile/0/tempfile.rbs +479 -0
- data/stdlib/time/0/time.rbs +432 -0
- data/stdlib/timeout/0/timeout.rbs +81 -0
- data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
- data/stdlib/tsort/0/cyclic.rbs +5 -0
- data/stdlib/tsort/0/interfaces.rbs +20 -0
- data/stdlib/tsort/0/tsort.rbs +409 -0
- data/stdlib/uri/0/common.rbs +582 -0
- data/stdlib/uri/0/file.rbs +118 -0
- data/stdlib/uri/0/ftp.rbs +13 -0
- data/stdlib/uri/0/generic.rbs +1108 -0
- data/stdlib/uri/0/http.rbs +104 -0
- data/stdlib/uri/0/https.rbs +14 -0
- data/stdlib/uri/0/ldap.rbs +230 -0
- data/stdlib/uri/0/ldaps.rbs +14 -0
- data/stdlib/uri/0/mailto.rbs +92 -0
- data/stdlib/uri/0/rfc2396_parser.rbs +189 -0
- data/stdlib/uri/0/rfc3986_parser.rbs +2 -0
- data/stdlib/uri/0/ws.rbs +13 -0
- data/stdlib/uri/0/wss.rbs +9 -0
- data/stdlib/yaml/0/manifest.yaml +2 -0
- data/stdlib/yaml/0/yaml.rbs +1 -0
- data/stdlib/zlib/0/buf_error.rbs +10 -0
- data/stdlib/zlib/0/data_error.rbs +10 -0
- data/stdlib/zlib/0/deflate.rbs +210 -0
- data/stdlib/zlib/0/error.rbs +20 -0
- data/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
- data/stdlib/zlib/0/gzip_file/error.rbs +23 -0
- data/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
- data/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
- data/stdlib/zlib/0/gzip_file.rbs +156 -0
- data/stdlib/zlib/0/gzip_reader.rbs +293 -0
- data/stdlib/zlib/0/gzip_writer.rbs +166 -0
- data/stdlib/zlib/0/inflate.rbs +180 -0
- data/stdlib/zlib/0/mem_error.rbs +10 -0
- data/stdlib/zlib/0/need_dict.rbs +13 -0
- data/stdlib/zlib/0/stream_end.rbs +11 -0
- data/stdlib/zlib/0/stream_error.rbs +11 -0
- data/stdlib/zlib/0/version_error.rbs +11 -0
- data/stdlib/zlib/0/zlib.rbs +449 -0
- data/stdlib/zlib/0/zstream.rbs +200 -0
- metadata +532 -0
@@ -0,0 +1,96 @@
|
|
1
|
+
# <!-- rdoc-file=lib/delegate.rb -->
|
2
|
+
# A concrete implementation of Delegator, this class provides the means to
|
3
|
+
# delegate all supported method calls to the object passed into the constructor
|
4
|
+
# and even to change the object being delegated to at a later time with
|
5
|
+
# #__setobj__.
|
6
|
+
#
|
7
|
+
# class User
|
8
|
+
# def born_on
|
9
|
+
# Date.new(1989, 9, 10)
|
10
|
+
# end
|
11
|
+
# end
|
12
|
+
#
|
13
|
+
# require 'delegate'
|
14
|
+
#
|
15
|
+
# class UserDecorator < SimpleDelegator
|
16
|
+
# def birth_year
|
17
|
+
# born_on.year
|
18
|
+
# end
|
19
|
+
# end
|
20
|
+
#
|
21
|
+
# decorated_user = UserDecorator.new(User.new)
|
22
|
+
# decorated_user.birth_year #=> 1989
|
23
|
+
# decorated_user.__getobj__ #=> #<User: ...>
|
24
|
+
#
|
25
|
+
# A SimpleDelegator instance can take advantage of the fact that SimpleDelegator
|
26
|
+
# is a subclass of `Delegator` to call `super` to have methods called on the
|
27
|
+
# object being delegated to.
|
28
|
+
#
|
29
|
+
# class SuperArray < SimpleDelegator
|
30
|
+
# def [](*args)
|
31
|
+
# super + 1
|
32
|
+
# end
|
33
|
+
# end
|
34
|
+
#
|
35
|
+
# SuperArray.new([1])[0] #=> 2
|
36
|
+
#
|
37
|
+
# Here's a simple example that takes advantage of the fact that
|
38
|
+
# SimpleDelegator's delegation object can be changed at any time.
|
39
|
+
#
|
40
|
+
# class Stats
|
41
|
+
# def initialize
|
42
|
+
# @source = SimpleDelegator.new([])
|
43
|
+
# end
|
44
|
+
#
|
45
|
+
# def stats(records)
|
46
|
+
# @source.__setobj__(records)
|
47
|
+
#
|
48
|
+
# "Elements: #{@source.size}\n" +
|
49
|
+
# " Non-Nil: #{@source.compact.size}\n" +
|
50
|
+
# " Unique: #{@source.uniq.size}\n"
|
51
|
+
# end
|
52
|
+
# end
|
53
|
+
#
|
54
|
+
# s = Stats.new
|
55
|
+
# puts s.stats(%w{James Edward Gray II})
|
56
|
+
# puts
|
57
|
+
# puts s.stats([1, 2, 3, nil, 4, 5, 1, 2])
|
58
|
+
#
|
59
|
+
# Prints:
|
60
|
+
#
|
61
|
+
# Elements: 4
|
62
|
+
# Non-Nil: 4
|
63
|
+
# Unique: 4
|
64
|
+
#
|
65
|
+
# Elements: 8
|
66
|
+
# Non-Nil: 7
|
67
|
+
# Unique: 6
|
68
|
+
#
|
69
|
+
class SimpleDelegator < Delegator
|
70
|
+
# <!--
|
71
|
+
# rdoc-file=lib/delegate.rb
|
72
|
+
# - __getobj__() { || ... }
|
73
|
+
# -->
|
74
|
+
# Returns the current object method calls are being delegated to.
|
75
|
+
#
|
76
|
+
def __getobj__: () -> untyped
|
77
|
+
|
78
|
+
# <!--
|
79
|
+
# rdoc-file=lib/delegate.rb
|
80
|
+
# - __setobj__(obj)
|
81
|
+
# -->
|
82
|
+
# Changes the delegate object to *obj*.
|
83
|
+
#
|
84
|
+
# It's important to note that this does **not** cause SimpleDelegator's methods
|
85
|
+
# to change. Because of this, you probably only want to change delegation to
|
86
|
+
# objects of the same type as the original delegate.
|
87
|
+
#
|
88
|
+
# Here's an example of changing the delegation object.
|
89
|
+
#
|
90
|
+
# names = SimpleDelegator.new(%w{James Edward Gray II})
|
91
|
+
# puts names[1] # => Edward
|
92
|
+
# names.__setobj__(%w{Gavin Sinclair})
|
93
|
+
# puts names[1] # => Sinclair
|
94
|
+
#
|
95
|
+
def __setobj__: (untyped obj) -> untyped
|
96
|
+
end
|
@@ -0,0 +1,343 @@
|
|
1
|
+
# <!-- rdoc-file=lib/did_you_mean.rb -->
|
2
|
+
# The `DidYouMean` gem adds functionality to suggest possible method/class names
|
3
|
+
# upon errors such as `NameError` and `NoMethodError`. In Ruby 2.3 or later, it
|
4
|
+
# is automatically activated during startup.
|
5
|
+
#
|
6
|
+
# @example
|
7
|
+
#
|
8
|
+
# methosd
|
9
|
+
# # => NameError: undefined local variable or method `methosd' for main:Object
|
10
|
+
# # Did you mean? methods
|
11
|
+
# # method
|
12
|
+
#
|
13
|
+
# OBject
|
14
|
+
# # => NameError: uninitialized constant OBject
|
15
|
+
# # Did you mean? Object
|
16
|
+
#
|
17
|
+
# @full_name = "Yuki Nishijima"
|
18
|
+
# first_name, last_name = full_name.split(" ")
|
19
|
+
# # => NameError: undefined local variable or method `full_name' for main:Object
|
20
|
+
# # Did you mean? @full_name
|
21
|
+
#
|
22
|
+
# @@full_name = "Yuki Nishijima"
|
23
|
+
# @@full_anme
|
24
|
+
# # => NameError: uninitialized class variable @@full_anme in Object
|
25
|
+
# # Did you mean? @@full_name
|
26
|
+
#
|
27
|
+
# full_name = "Yuki Nishijima"
|
28
|
+
# full_name.starts_with?("Y")
|
29
|
+
# # => NoMethodError: undefined method `starts_with?' for "Yuki Nishijima":String
|
30
|
+
# # Did you mean? start_with?
|
31
|
+
#
|
32
|
+
# hash = {foo: 1, bar: 2, baz: 3}
|
33
|
+
# hash.fetch(:fooo)
|
34
|
+
# # => KeyError: key not found: :fooo
|
35
|
+
# # Did you mean? :foo
|
36
|
+
#
|
37
|
+
# ## Disabling `did_you_mean`
|
38
|
+
#
|
39
|
+
# Occasionally, you may want to disable the `did_you_mean` gem for e.g.
|
40
|
+
# debugging issues in the error object itself. You can disable it entirely by
|
41
|
+
# specifying `--disable-did_you_mean` option to the `ruby` command:
|
42
|
+
#
|
43
|
+
# $ ruby --disable-did_you_mean -e "1.zeor?"
|
44
|
+
# -e:1:in `<main>': undefined method `zeor?' for 1:Integer (NameError)
|
45
|
+
#
|
46
|
+
# When you do not have direct access to the `ruby` command (e.g. +rails
|
47
|
+
# console+, `irb`), you could applyoptions using the `RUBYOPT` environment
|
48
|
+
# variable:
|
49
|
+
#
|
50
|
+
# $ RUBYOPT='--disable-did_you_mean' irb
|
51
|
+
# irb:0> 1.zeor?
|
52
|
+
# # => NoMethodError (undefined method `zeor?' for 1:Integer)
|
53
|
+
#
|
54
|
+
# ## Getting the original error message
|
55
|
+
#
|
56
|
+
# Sometimes, you do not want to disable the gem entirely, but need to get the
|
57
|
+
# original error message without suggestions (e.g. testing). In this case, you
|
58
|
+
# could use the `#original_message` method on the error object:
|
59
|
+
#
|
60
|
+
# no_method_error = begin
|
61
|
+
# 1.zeor?
|
62
|
+
# rescue NoMethodError => error
|
63
|
+
# error
|
64
|
+
# end
|
65
|
+
#
|
66
|
+
# no_method_error.message
|
67
|
+
# # => NoMethodError (undefined method `zeor?' for 1:Integer)
|
68
|
+
# # Did you mean? zero?
|
69
|
+
#
|
70
|
+
# no_method_error.original_message
|
71
|
+
# # => NoMethodError (undefined method `zeor?' for 1:Integer)
|
72
|
+
#
|
73
|
+
module DidYouMean
|
74
|
+
NameErrorCheckers: Object
|
75
|
+
|
76
|
+
VERSION: String
|
77
|
+
|
78
|
+
class ClassNameChecker
|
79
|
+
class ClassName < ::String
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
module Correctable
|
84
|
+
SKIP_TO_S_FOR_SUPER_LOOKUP: true
|
85
|
+
|
86
|
+
# <!--
|
87
|
+
# rdoc-file=lib/did_you_mean/core_ext/name_error.rb
|
88
|
+
# - corrections()
|
89
|
+
# -->
|
90
|
+
#
|
91
|
+
def corrections: () -> Array[String]
|
92
|
+
end
|
93
|
+
|
94
|
+
# <!-- rdoc-file=lib/did_you_mean/formatter.rb -->
|
95
|
+
# The `DidYouMean::Formatter` is the basic, default formatter for the gem. The
|
96
|
+
# formatter responds to the `message_for` method and it returns a human readable
|
97
|
+
# string.
|
98
|
+
#
|
99
|
+
class Formatter
|
100
|
+
# <!--
|
101
|
+
# rdoc-file=lib/did_you_mean/formatter.rb
|
102
|
+
# - message_for(corrections)
|
103
|
+
# -->
|
104
|
+
# Returns a human readable string that contains `corrections`. This formatter is
|
105
|
+
# designed to be less verbose to not take too much screen space while being
|
106
|
+
# helpful enough to the user.
|
107
|
+
#
|
108
|
+
# @example
|
109
|
+
#
|
110
|
+
# formatter = DidYouMean::Formatter.new
|
111
|
+
#
|
112
|
+
# # displays suggestions in two lines with the leading empty line
|
113
|
+
# puts formatter.message_for(["methods", "method"])
|
114
|
+
#
|
115
|
+
# Did you mean? methods
|
116
|
+
# method
|
117
|
+
# # => nil
|
118
|
+
#
|
119
|
+
# # displays an empty line
|
120
|
+
# puts formatter.message_for([])
|
121
|
+
#
|
122
|
+
# # => nil
|
123
|
+
#
|
124
|
+
def self.message_for: (Array[String] corrections) -> String
|
125
|
+
end
|
126
|
+
|
127
|
+
module JaroWinkler
|
128
|
+
WEIGHT: Float
|
129
|
+
|
130
|
+
THRESHOLD: Float
|
131
|
+
|
132
|
+
# <!--
|
133
|
+
# rdoc-file=lib/did_you_mean/jaro_winkler.rb
|
134
|
+
# - distance(str1, str2)
|
135
|
+
# -->
|
136
|
+
#
|
137
|
+
def self?.distance: (String, String) -> Integer
|
138
|
+
end
|
139
|
+
|
140
|
+
module Jaro
|
141
|
+
# <!--
|
142
|
+
# rdoc-file=lib/did_you_mean/jaro_winkler.rb
|
143
|
+
# - distance(str1, str2)
|
144
|
+
# -->
|
145
|
+
#
|
146
|
+
def self?.distance: (String, String) -> Integer
|
147
|
+
end
|
148
|
+
|
149
|
+
class KeyErrorChecker
|
150
|
+
# <!--
|
151
|
+
# rdoc-file=lib/did_you_mean/spell_checkers/key_error_checker.rb
|
152
|
+
# - new(key_error)
|
153
|
+
# -->
|
154
|
+
#
|
155
|
+
def initialize: (KeyError[_ToS, Hash[_ToS, untyped]]) -> void
|
156
|
+
|
157
|
+
# <!--
|
158
|
+
# rdoc-file=lib/did_you_mean/spell_checkers/key_error_checker.rb
|
159
|
+
# - corrections()
|
160
|
+
# -->
|
161
|
+
#
|
162
|
+
def corrections: () -> Array[String]
|
163
|
+
end
|
164
|
+
|
165
|
+
module Levenshtein
|
166
|
+
def self?.distance: (String, String) -> Integer?
|
167
|
+
end
|
168
|
+
|
169
|
+
class MethodNameChecker
|
170
|
+
NAMES_TO_EXCLUDE: Hash[untyped, Array[Symbol]]
|
171
|
+
|
172
|
+
# <!-- rdoc-file=lib/did_you_mean/spell_checkers/method_name_checker.rb -->
|
173
|
+
# `MethodNameChecker::RB_RESERVED_WORDS` is the list of reserved words in Ruby
|
174
|
+
# that take an argument. Unlike `VariableNameChecker::RB_RESERVED_WORDS`, these
|
175
|
+
# reserved words require an argument, and a `NoMethodError` is raised due to the
|
176
|
+
# presence of the argument.
|
177
|
+
#
|
178
|
+
# The `MethodNameChecker` will use this list to suggest a reversed word if a
|
179
|
+
# `NoMethodError` is raised and found closest matches.
|
180
|
+
#
|
181
|
+
# Also see `VariableNameChecker::RB_RESERVED_WORDS`.
|
182
|
+
#
|
183
|
+
RB_RESERVED_WORDS: Array[Symbol]
|
184
|
+
|
185
|
+
# <!--
|
186
|
+
# rdoc-file=lib/did_you_mean/spell_checkers/method_name_checker.rb
|
187
|
+
# - new(exception)
|
188
|
+
# -->
|
189
|
+
#
|
190
|
+
def initialize: (NoMethodError[untyped] exception) -> void
|
191
|
+
|
192
|
+
# <!--
|
193
|
+
# rdoc-file=lib/did_you_mean/spell_checkers/method_name_checker.rb
|
194
|
+
# - corrections()
|
195
|
+
# -->
|
196
|
+
#
|
197
|
+
def corrections: () -> Array[Symbol]
|
198
|
+
end
|
199
|
+
|
200
|
+
class NullChecker
|
201
|
+
# <!--
|
202
|
+
# rdoc-file=lib/did_you_mean/spell_checkers/null_checker.rb
|
203
|
+
# - new(*)
|
204
|
+
# -->
|
205
|
+
#
|
206
|
+
def initialize: (*untyped) -> void
|
207
|
+
|
208
|
+
# <!--
|
209
|
+
# rdoc-file=lib/did_you_mean/spell_checkers/null_checker.rb
|
210
|
+
# - corrections()
|
211
|
+
# -->
|
212
|
+
#
|
213
|
+
def corrections: () -> Array[untyped]
|
214
|
+
end
|
215
|
+
|
216
|
+
class PatternKeyNameChecker
|
217
|
+
# <!--
|
218
|
+
# rdoc-file=lib/did_you_mean/spell_checkers/pattern_key_name_checker.rb
|
219
|
+
# - new(no_matching_pattern_key_error)
|
220
|
+
# -->
|
221
|
+
#
|
222
|
+
def initialize: (untyped) -> void
|
223
|
+
|
224
|
+
# <!--
|
225
|
+
# rdoc-file=lib/did_you_mean/spell_checkers/pattern_key_name_checker.rb
|
226
|
+
# - corrections()
|
227
|
+
# -->
|
228
|
+
#
|
229
|
+
def corrections: () -> Array[String]
|
230
|
+
end
|
231
|
+
|
232
|
+
class RequirePathChecker
|
233
|
+
INITIAL_LOAD_PATH: Array[String]
|
234
|
+
ENV_SPECIFIC_EXT: String
|
235
|
+
|
236
|
+
# <!--
|
237
|
+
# rdoc-file=lib/did_you_mean/spell_checkers/require_path_checker.rb
|
238
|
+
# - requireables()
|
239
|
+
# -->
|
240
|
+
#
|
241
|
+
def self.requireables: () -> Array[String]
|
242
|
+
|
243
|
+
# <!--
|
244
|
+
# rdoc-file=lib/did_you_mean/spell_checkers/require_path_checker.rb
|
245
|
+
# - new(exception)
|
246
|
+
# -->
|
247
|
+
#
|
248
|
+
def initialize: (untyped exception) -> void
|
249
|
+
|
250
|
+
# <!--
|
251
|
+
# rdoc-file=lib/did_you_mean/spell_checkers/require_path_checker.rb
|
252
|
+
# - corrections()
|
253
|
+
# -->
|
254
|
+
#
|
255
|
+
def corrections: () -> Array[String]
|
256
|
+
end
|
257
|
+
|
258
|
+
class SpellChecker
|
259
|
+
# <!--
|
260
|
+
# rdoc-file=lib/did_you_mean/spell_checker.rb
|
261
|
+
# - new(dictionary:)
|
262
|
+
# -->
|
263
|
+
#
|
264
|
+
def initialize: (dictionary: Array[interned]) -> void
|
265
|
+
|
266
|
+
# <!--
|
267
|
+
# rdoc-file=lib/did_you_mean/spell_checker.rb
|
268
|
+
# - correct(input)
|
269
|
+
# -->
|
270
|
+
#
|
271
|
+
def correct: (interned input) -> Array[String]
|
272
|
+
end
|
273
|
+
|
274
|
+
# <!-- rdoc-file=lib/did_you_mean/tree_spell_checker.rb -->
|
275
|
+
# spell checker for a dictionary that has a tree structure, see
|
276
|
+
# doc/tree_spell_checker_api.md
|
277
|
+
#
|
278
|
+
class TreeSpellChecker
|
279
|
+
# <!--
|
280
|
+
# rdoc-file=lib/did_you_mean/tree_spell_checker.rb
|
281
|
+
# - new(dictionary:, separator: '/', augment: nil)
|
282
|
+
# -->
|
283
|
+
#
|
284
|
+
def initialize: (dictionary: Array[String], ?separator: String, ?augment: bool?) -> void
|
285
|
+
|
286
|
+
# <!--
|
287
|
+
# rdoc-file=lib/did_you_mean/tree_spell_checker.rb
|
288
|
+
# - correct(input)
|
289
|
+
# -->
|
290
|
+
#
|
291
|
+
def correct: (String input) -> Array[String]
|
292
|
+
end
|
293
|
+
|
294
|
+
class VariableNameChecker
|
295
|
+
NAMES_TO_EXCLUDE: Hash[String, Array[Symbol]]
|
296
|
+
|
297
|
+
# <!-- rdoc-file=lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb -->
|
298
|
+
# `VariableNameChecker::RB_RESERVED_WORDS` is the list of all reserved words in
|
299
|
+
# Ruby. They could be declared like methods are, and a typo would cause Ruby to
|
300
|
+
# raise a `NameError` because of the way they are declared.
|
301
|
+
#
|
302
|
+
# The `:VariableNameChecker` will use this list to suggest a reversed word if a
|
303
|
+
# `NameError` is raised and found closest matches, excluding:
|
304
|
+
#
|
305
|
+
# * +do+
|
306
|
+
# * +if+
|
307
|
+
# * +in+
|
308
|
+
# * +or+
|
309
|
+
#
|
310
|
+
# Also see `MethodNameChecker::RB_RESERVED_WORDS`.
|
311
|
+
#
|
312
|
+
RB_RESERVED_WORDS: Array[Symbol]
|
313
|
+
|
314
|
+
# <!--
|
315
|
+
# rdoc-file=lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
|
316
|
+
# - new(exception)
|
317
|
+
# -->
|
318
|
+
#
|
319
|
+
def initialize: (NameError[untyped]) -> void
|
320
|
+
|
321
|
+
# <!--
|
322
|
+
# rdoc-file=lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
|
323
|
+
# - corrections()
|
324
|
+
# -->
|
325
|
+
#
|
326
|
+
def corrections: () -> Array[Symbol]
|
327
|
+
end
|
328
|
+
end
|
329
|
+
|
330
|
+
%a{annotate:rdoc:skip}
|
331
|
+
class NameError[T]
|
332
|
+
prepend DidYouMean::Correctable
|
333
|
+
end
|
334
|
+
|
335
|
+
%a{annotate:rdoc:skip}
|
336
|
+
class KeyError[K, R]
|
337
|
+
prepend DidYouMean::Correctable
|
338
|
+
end
|
339
|
+
|
340
|
+
%a{annotate:rdoc:skip}
|
341
|
+
class LoadError
|
342
|
+
prepend DidYouMean::Correctable
|
343
|
+
end
|