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,49 @@
|
|
1
|
+
# <!-- rdoc-file=lib/find.rb -->
|
2
|
+
# The `Find` module supports the top-down traversal of a set of file paths.
|
3
|
+
#
|
4
|
+
# For example, to total the size of all files under your home directory,
|
5
|
+
# ignoring anything in a "dot" directory (e.g. $HOME/.ssh):
|
6
|
+
#
|
7
|
+
# require 'find'
|
8
|
+
#
|
9
|
+
# total_size = 0
|
10
|
+
#
|
11
|
+
# Find.find(ENV["HOME"]) do |path|
|
12
|
+
# if FileTest.directory?(path)
|
13
|
+
# if File.basename(path).start_with?('.')
|
14
|
+
# Find.prune # Don't look any further into this directory.
|
15
|
+
# else
|
16
|
+
# next
|
17
|
+
# end
|
18
|
+
# else
|
19
|
+
# total_size += FileTest.size(path)
|
20
|
+
# end
|
21
|
+
# end
|
22
|
+
#
|
23
|
+
module Find
|
24
|
+
# <!--
|
25
|
+
# rdoc-file=lib/find.rb
|
26
|
+
# - find(*paths, ignore_error: true) { |path| ... }
|
27
|
+
# -->
|
28
|
+
# Calls the associated block with the name of every file and directory listed as
|
29
|
+
# arguments, then recursively on their subdirectories, and so on.
|
30
|
+
#
|
31
|
+
# Returns an enumerator if no block is given.
|
32
|
+
#
|
33
|
+
# See the `Find` module documentation for an example.
|
34
|
+
#
|
35
|
+
def self?.find: (*String | _ToPath paths, ?ignore_error: boolish) -> Enumerator[String, nil]
|
36
|
+
| (*String | _ToPath paths, ?ignore_error: boolish) { (String) -> void } -> nil
|
37
|
+
|
38
|
+
# <!--
|
39
|
+
# rdoc-file=lib/find.rb
|
40
|
+
# - prune()
|
41
|
+
# -->
|
42
|
+
# Skips the current file or directory, restarting the loop with the next entry.
|
43
|
+
# If the current file is a directory, that directory will not be recursively
|
44
|
+
# entered. Meaningful only within the block associated with Find::find.
|
45
|
+
#
|
46
|
+
# See the `Find` module documentation for an example.
|
47
|
+
#
|
48
|
+
def self?.prune: () -> void
|
49
|
+
end
|
@@ -0,0 +1,268 @@
|
|
1
|
+
# <!-- rdoc-file=lib/forwardable.rb -->
|
2
|
+
# The Forwardable module provides delegation of specified methods to a
|
3
|
+
# designated object, using the methods #def_delegator and #def_delegators.
|
4
|
+
#
|
5
|
+
# For example, say you have a class RecordCollection which contains an array
|
6
|
+
# `@records`. You could provide the lookup method #record_number(), which
|
7
|
+
# simply calls #[] on the `@records` array, like this:
|
8
|
+
#
|
9
|
+
# require 'forwardable'
|
10
|
+
#
|
11
|
+
# class RecordCollection
|
12
|
+
# attr_accessor :records
|
13
|
+
# extend Forwardable
|
14
|
+
# def_delegator :@records, :[], :record_number
|
15
|
+
# end
|
16
|
+
#
|
17
|
+
# We can use the lookup method like so:
|
18
|
+
#
|
19
|
+
# r = RecordCollection.new
|
20
|
+
# r.records = [4,5,6]
|
21
|
+
# r.record_number(0) # => 4
|
22
|
+
#
|
23
|
+
# Further, if you wish to provide the methods #size, #<<, and #map, all of which
|
24
|
+
# delegate to @records, this is how you can do it:
|
25
|
+
#
|
26
|
+
# class RecordCollection # re-open RecordCollection class
|
27
|
+
# def_delegators :@records, :size, :<<, :map
|
28
|
+
# end
|
29
|
+
#
|
30
|
+
# r = RecordCollection.new
|
31
|
+
# r.records = [1,2,3]
|
32
|
+
# r.record_number(0) # => 1
|
33
|
+
# r.size # => 3
|
34
|
+
# r << 4 # => [1, 2, 3, 4]
|
35
|
+
# r.map { |x| x * 2 } # => [2, 4, 6, 8]
|
36
|
+
#
|
37
|
+
# You can even extend regular objects with Forwardable.
|
38
|
+
#
|
39
|
+
# my_hash = Hash.new
|
40
|
+
# my_hash.extend Forwardable # prepare object for delegation
|
41
|
+
# my_hash.def_delegator "STDOUT", "puts" # add delegation for STDOUT.puts()
|
42
|
+
# my_hash.puts "Howdy!"
|
43
|
+
#
|
44
|
+
# ## Another example
|
45
|
+
#
|
46
|
+
# You could use Forwardable as an alternative to inheritance, when you don't
|
47
|
+
# want to inherit all methods from the superclass. For instance, here is how you
|
48
|
+
# might add a range of `Array` instance methods to a new class `Queue`:
|
49
|
+
#
|
50
|
+
# class Queue
|
51
|
+
# extend Forwardable
|
52
|
+
#
|
53
|
+
# def initialize
|
54
|
+
# @q = [ ] # prepare delegate object
|
55
|
+
# end
|
56
|
+
#
|
57
|
+
# # setup preferred interface, enq() and deq()...
|
58
|
+
# def_delegator :@q, :push, :enq
|
59
|
+
# def_delegator :@q, :shift, :deq
|
60
|
+
#
|
61
|
+
# # support some general Array methods that fit Queues well
|
62
|
+
# def_delegators :@q, :clear, :first, :push, :shift, :size
|
63
|
+
# end
|
64
|
+
#
|
65
|
+
# q = Thread::Queue.new
|
66
|
+
# q.enq 1, 2, 3, 4, 5
|
67
|
+
# q.push 6
|
68
|
+
#
|
69
|
+
# q.shift # => 1
|
70
|
+
# while q.size > 0
|
71
|
+
# puts q.deq
|
72
|
+
# end
|
73
|
+
#
|
74
|
+
# q.enq "Ruby", "Perl", "Python"
|
75
|
+
# puts q.first
|
76
|
+
# q.clear
|
77
|
+
# puts q.first
|
78
|
+
#
|
79
|
+
# This should output:
|
80
|
+
#
|
81
|
+
# 2
|
82
|
+
# 3
|
83
|
+
# 4
|
84
|
+
# 5
|
85
|
+
# 6
|
86
|
+
# Ruby
|
87
|
+
# nil
|
88
|
+
#
|
89
|
+
# ## Notes
|
90
|
+
#
|
91
|
+
# Be advised, RDoc will not detect delegated methods.
|
92
|
+
#
|
93
|
+
# `forwardable.rb` provides single-method delegation via the def_delegator and
|
94
|
+
# def_delegators methods. For full-class delegation via DelegateClass, see
|
95
|
+
# `delegate.rb`.
|
96
|
+
#
|
97
|
+
module Forwardable
|
98
|
+
# <!-- rdoc-file=lib/forwardable.rb -->
|
99
|
+
# Version of `forwardable.rb`
|
100
|
+
#
|
101
|
+
VERSION: String
|
102
|
+
|
103
|
+
FORWARDABLE_VERSION: String
|
104
|
+
|
105
|
+
# <!--
|
106
|
+
# rdoc-file=lib/forwardable.rb
|
107
|
+
# - delegate method => accessor
|
108
|
+
# - delegate [method, method, ...] => accessor
|
109
|
+
# -->
|
110
|
+
# Takes a hash as its argument. The key is a symbol or an array of symbols.
|
111
|
+
# These symbols correspond to method names, instance variable names, or constant
|
112
|
+
# names (see def_delegator). The value is the accessor to which the methods
|
113
|
+
# will be delegated.
|
114
|
+
#
|
115
|
+
def instance_delegate: (Hash[Symbol | Array[Symbol], Symbol] hash) -> void
|
116
|
+
|
117
|
+
# <!--
|
118
|
+
# rdoc-file=lib/forwardable.rb
|
119
|
+
# - delegate(hash)
|
120
|
+
# -->
|
121
|
+
#
|
122
|
+
alias delegate instance_delegate
|
123
|
+
|
124
|
+
# <!--
|
125
|
+
# rdoc-file=lib/forwardable.rb
|
126
|
+
# - def_instance_delegators(accessor, *methods)
|
127
|
+
# -->
|
128
|
+
# Shortcut for defining multiple delegator methods, but with no provision for
|
129
|
+
# using a different name. The following two code samples have the same effect:
|
130
|
+
#
|
131
|
+
# def_delegators :@records, :size, :<<, :map
|
132
|
+
#
|
133
|
+
# def_delegator :@records, :size
|
134
|
+
# def_delegator :@records, :<<
|
135
|
+
# def_delegator :@records, :map
|
136
|
+
#
|
137
|
+
def def_instance_delegators: (interned accessor, *Symbol methods) -> void
|
138
|
+
|
139
|
+
# <!--
|
140
|
+
# rdoc-file=lib/forwardable.rb
|
141
|
+
# - def_delegators(accessor, *methods)
|
142
|
+
# -->
|
143
|
+
#
|
144
|
+
alias def_delegators def_instance_delegators
|
145
|
+
|
146
|
+
# <!--
|
147
|
+
# rdoc-file=lib/forwardable.rb
|
148
|
+
# - def_instance_delegator(accessor, method, ali = method)
|
149
|
+
# -->
|
150
|
+
# Define `method` as delegator instance method with an optional alias name
|
151
|
+
# `ali`. Method calls to `ali` will be delegated to `accessor.method`.
|
152
|
+
# `accessor` should be a method name, instance variable name, or constant name.
|
153
|
+
# Use the full path to the constant if providing the constant name. Returns the
|
154
|
+
# name of the method defined.
|
155
|
+
#
|
156
|
+
# class MyQueue
|
157
|
+
# CONST = 1
|
158
|
+
# extend Forwardable
|
159
|
+
# attr_reader :queue
|
160
|
+
# def initialize
|
161
|
+
# @queue = []
|
162
|
+
# end
|
163
|
+
#
|
164
|
+
# def_delegator :@queue, :push, :mypush
|
165
|
+
# def_delegator 'MyQueue::CONST', :to_i
|
166
|
+
# end
|
167
|
+
#
|
168
|
+
# q = MyQueue.new
|
169
|
+
# q.mypush 42
|
170
|
+
# q.queue #=> [42]
|
171
|
+
# q.push 23 #=> NoMethodError
|
172
|
+
# q.to_i #=> 1
|
173
|
+
#
|
174
|
+
def def_instance_delegator: (interned accessor, Symbol method, ?Symbol ali) -> void
|
175
|
+
|
176
|
+
# <!--
|
177
|
+
# rdoc-file=lib/forwardable.rb
|
178
|
+
# - def_delegator(accessor, method, ali = method)
|
179
|
+
# -->
|
180
|
+
#
|
181
|
+
alias def_delegator def_instance_delegator
|
182
|
+
end
|
183
|
+
|
184
|
+
# <!-- rdoc-file=lib/forwardable.rb -->
|
185
|
+
# SingleForwardable can be used to setup delegation at the object level as well.
|
186
|
+
#
|
187
|
+
# printer = String.new
|
188
|
+
# printer.extend SingleForwardable # prepare object for delegation
|
189
|
+
# printer.def_delegator "STDOUT", "puts" # add delegation for STDOUT.puts()
|
190
|
+
# printer.puts "Howdy!"
|
191
|
+
#
|
192
|
+
# Also, SingleForwardable can be used to set up delegation for a Class or
|
193
|
+
# Module.
|
194
|
+
#
|
195
|
+
# class Implementation
|
196
|
+
# def self.service
|
197
|
+
# puts "serviced!"
|
198
|
+
# end
|
199
|
+
# end
|
200
|
+
#
|
201
|
+
# module Facade
|
202
|
+
# extend SingleForwardable
|
203
|
+
# def_delegator :Implementation, :service
|
204
|
+
# end
|
205
|
+
#
|
206
|
+
# Facade.service #=> serviced!
|
207
|
+
#
|
208
|
+
# If you want to use both Forwardable and SingleForwardable, you can use methods
|
209
|
+
# def_instance_delegator and def_single_delegator, etc.
|
210
|
+
#
|
211
|
+
module SingleForwardable
|
212
|
+
# <!--
|
213
|
+
# rdoc-file=lib/forwardable.rb
|
214
|
+
# - delegate method => accessor
|
215
|
+
# - delegate [method, method, ...] => accessor
|
216
|
+
# -->
|
217
|
+
# Takes a hash as its argument. The key is a symbol or an array of symbols.
|
218
|
+
# These symbols correspond to method names. The value is the accessor to which
|
219
|
+
# the methods will be delegated.
|
220
|
+
#
|
221
|
+
def single_delegate: (Hash[Symbol | Array[Symbol], Symbol] hash) -> void
|
222
|
+
|
223
|
+
# <!--
|
224
|
+
# rdoc-file=lib/forwardable.rb
|
225
|
+
# - delegate(hash)
|
226
|
+
# -->
|
227
|
+
#
|
228
|
+
alias delegate single_delegate
|
229
|
+
|
230
|
+
# <!--
|
231
|
+
# rdoc-file=lib/forwardable.rb
|
232
|
+
# - def_single_delegators(accessor, *methods)
|
233
|
+
# -->
|
234
|
+
# Shortcut for defining multiple delegator methods, but with no provision for
|
235
|
+
# using a different name. The following two code samples have the same effect:
|
236
|
+
#
|
237
|
+
# def_delegators :@records, :size, :<<, :map
|
238
|
+
#
|
239
|
+
# def_delegator :@records, :size
|
240
|
+
# def_delegator :@records, :<<
|
241
|
+
# def_delegator :@records, :map
|
242
|
+
#
|
243
|
+
def def_single_delegators: (interned accessor, *Symbol methods) -> void
|
244
|
+
|
245
|
+
# <!--
|
246
|
+
# rdoc-file=lib/forwardable.rb
|
247
|
+
# - def_delegators(accessor, *methods)
|
248
|
+
# -->
|
249
|
+
#
|
250
|
+
alias def_delegators def_single_delegators
|
251
|
+
|
252
|
+
# <!--
|
253
|
+
# rdoc-file=lib/forwardable.rb
|
254
|
+
# - def_single_delegator(accessor, method, new_name=method)
|
255
|
+
# -->
|
256
|
+
# Defines a method *method* which delegates to *accessor* (i.e. it calls the
|
257
|
+
# method of the same name in *accessor*). If *new_name* is provided, it is used
|
258
|
+
# as the name for the delegate method. Returns the name of the method defined.
|
259
|
+
#
|
260
|
+
def def_single_delegator: (interned accessor, Symbol method, ?Symbol ali) -> void
|
261
|
+
|
262
|
+
# <!--
|
263
|
+
# rdoc-file=lib/forwardable.rb
|
264
|
+
# - def_delegator(accessor, method, ali = method)
|
265
|
+
# -->
|
266
|
+
#
|
267
|
+
alias def_delegator def_single_delegator
|
268
|
+
end
|