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
data/core/random.rbs
ADDED
@@ -0,0 +1,237 @@
|
|
1
|
+
# <!-- rdoc-file=random.c -->
|
2
|
+
# Random provides an interface to Ruby's pseudo-random number generator, or
|
3
|
+
# PRNG. The PRNG produces a deterministic sequence of bits which approximate
|
4
|
+
# true randomness. The sequence may be represented by integers, floats, or
|
5
|
+
# binary strings.
|
6
|
+
#
|
7
|
+
# The generator may be initialized with either a system-generated or
|
8
|
+
# user-supplied seed value by using Random.srand.
|
9
|
+
#
|
10
|
+
# The class method Random.rand provides the base functionality of Kernel.rand
|
11
|
+
# along with better handling of floating point values. These are both interfaces
|
12
|
+
# to the Ruby system PRNG.
|
13
|
+
#
|
14
|
+
# Random.new will create a new PRNG with a state independent of the Ruby system
|
15
|
+
# PRNG, allowing multiple generators with different seed values or sequence
|
16
|
+
# positions to exist simultaneously. Random objects can be marshaled, allowing
|
17
|
+
# sequences to be saved and resumed.
|
18
|
+
#
|
19
|
+
# PRNGs are currently implemented as a modified Mersenne Twister with a period
|
20
|
+
# of 2**19937-1. As this algorithm is *not* for cryptographical use, you must
|
21
|
+
# use SecureRandom for security purpose, instead of this PRNG.
|
22
|
+
#
|
23
|
+
# See also Random::Formatter module that adds convenience methods to generate
|
24
|
+
# various forms of random data.
|
25
|
+
#
|
26
|
+
class Random < RBS::Unnamed::Random_Base
|
27
|
+
# <!--
|
28
|
+
# rdoc-file=random.c
|
29
|
+
# - Random.new(seed = Random.new_seed) -> prng
|
30
|
+
# -->
|
31
|
+
# Creates a new PRNG using `seed` to set the initial state. If `seed` is
|
32
|
+
# omitted, the generator is initialized with Random.new_seed.
|
33
|
+
#
|
34
|
+
# See Random.srand for more information on the use of seed values.
|
35
|
+
#
|
36
|
+
def initialize: (?Integer seed) -> void
|
37
|
+
|
38
|
+
# <!--
|
39
|
+
# rdoc-file=random.c
|
40
|
+
# - Random.bytes(size) -> string
|
41
|
+
# -->
|
42
|
+
# Returns a random binary string. The argument `size` specifies the length of
|
43
|
+
# the returned string.
|
44
|
+
#
|
45
|
+
def self.bytes: (Integer size) -> String
|
46
|
+
|
47
|
+
# <!--
|
48
|
+
# rdoc-file=random.c
|
49
|
+
# - prng1 == prng2 -> true or false
|
50
|
+
# -->
|
51
|
+
# Returns true if the two generators have the same internal state, otherwise
|
52
|
+
# false. Equivalent generators will return the same sequence of pseudo-random
|
53
|
+
# numbers. Two generators will generally have the same state only if they were
|
54
|
+
# initialized with the same seed
|
55
|
+
#
|
56
|
+
# Random.new == Random.new # => false
|
57
|
+
# Random.new(1234) == Random.new(1234) # => true
|
58
|
+
#
|
59
|
+
# and have the same invocation history.
|
60
|
+
#
|
61
|
+
# prng1 = Random.new(1234)
|
62
|
+
# prng2 = Random.new(1234)
|
63
|
+
# prng1 == prng2 # => true
|
64
|
+
#
|
65
|
+
# prng1.rand # => 0.1915194503788923
|
66
|
+
# prng1 == prng2 # => false
|
67
|
+
#
|
68
|
+
# prng2.rand # => 0.1915194503788923
|
69
|
+
# prng1 == prng2 # => true
|
70
|
+
#
|
71
|
+
def ==: (untyped arg0) -> bool
|
72
|
+
|
73
|
+
# <!--
|
74
|
+
# rdoc-file=random.c
|
75
|
+
# - Random.new_seed -> integer
|
76
|
+
# -->
|
77
|
+
# Returns an arbitrary seed value. This is used by Random.new when no seed value
|
78
|
+
# is specified as an argument.
|
79
|
+
#
|
80
|
+
# Random.new_seed #=> 115032730400174366788466674494640623225
|
81
|
+
#
|
82
|
+
def self.new_seed: () -> Integer
|
83
|
+
|
84
|
+
# <!--
|
85
|
+
# rdoc-file=random.c
|
86
|
+
# - Random.rand -> float
|
87
|
+
# - Random.rand(max) -> number
|
88
|
+
# - Random.rand(range) -> number
|
89
|
+
# -->
|
90
|
+
# Returns a random number using the Ruby system PRNG.
|
91
|
+
#
|
92
|
+
# See also Random#rand.
|
93
|
+
#
|
94
|
+
def self.rand: (?0) -> Float
|
95
|
+
| (Integer | ::Range[Integer] max) -> Integer
|
96
|
+
| (Float | ::Range[Float] max) -> Float
|
97
|
+
| [T < Numeric] (::Range[T]) -> T
|
98
|
+
|
99
|
+
# <!--
|
100
|
+
# rdoc-file=random.c
|
101
|
+
# - srand(number = Random.new_seed) -> old_seed
|
102
|
+
# -->
|
103
|
+
# Seeds the system pseudo-random number generator, with `number`. The previous
|
104
|
+
# seed value is returned.
|
105
|
+
#
|
106
|
+
# If `number` is omitted, seeds the generator using a source of entropy provided
|
107
|
+
# by the operating system, if available (/dev/urandom on Unix systems or the RSA
|
108
|
+
# cryptographic provider on Windows), which is then combined with the time, the
|
109
|
+
# process id, and a sequence number.
|
110
|
+
#
|
111
|
+
# srand may be used to ensure repeatable sequences of pseudo-random numbers
|
112
|
+
# between different runs of the program. By setting the seed to a known value,
|
113
|
+
# programs can be made deterministic during testing.
|
114
|
+
#
|
115
|
+
# srand 1234 # => 268519324636777531569100071560086917274
|
116
|
+
# [ rand, rand ] # => [0.1915194503788923, 0.6221087710398319]
|
117
|
+
# [ rand(10), rand(1000) ] # => [4, 664]
|
118
|
+
# srand 1234 # => 1234
|
119
|
+
# [ rand, rand ] # => [0.1915194503788923, 0.6221087710398319]
|
120
|
+
#
|
121
|
+
def self.srand: (?Integer number) -> Integer
|
122
|
+
|
123
|
+
# <!--
|
124
|
+
# rdoc-file=random.c
|
125
|
+
# - Random.urandom(size) -> string
|
126
|
+
# -->
|
127
|
+
# Returns a string, using platform providing features. Returned value is
|
128
|
+
# expected to be a cryptographically secure pseudo-random number in binary form.
|
129
|
+
# This method raises a RuntimeError if the feature provided by platform failed
|
130
|
+
# to prepare the result.
|
131
|
+
#
|
132
|
+
# In 2017, Linux manpage random(7) writes that "no cryptographic primitive
|
133
|
+
# available today can hope to promise more than 256 bits of security". So it
|
134
|
+
# might be questionable to pass size > 32 to this method.
|
135
|
+
#
|
136
|
+
# Random.urandom(8) #=> "\x78\x41\xBA\xAF\x7D\xEA\xD8\xEA"
|
137
|
+
#
|
138
|
+
def self.urandom: (Integer) -> String
|
139
|
+
|
140
|
+
# <!--
|
141
|
+
# rdoc-file=random.c
|
142
|
+
# - prng.seed -> integer
|
143
|
+
# -->
|
144
|
+
# Returns the seed value used to initialize the generator. This may be used to
|
145
|
+
# initialize another generator with the same state at a later time, causing it
|
146
|
+
# to produce the same sequence of numbers.
|
147
|
+
#
|
148
|
+
# prng1 = Random.new(1234)
|
149
|
+
# prng1.seed #=> 1234
|
150
|
+
# prng1.rand(100) #=> 47
|
151
|
+
#
|
152
|
+
# prng2 = Random.new(prng1.seed)
|
153
|
+
# prng2.rand(100) #=> 47
|
154
|
+
#
|
155
|
+
def seed: () -> Integer
|
156
|
+
|
157
|
+
private
|
158
|
+
|
159
|
+
def initialize_copy: (self object) -> self
|
160
|
+
|
161
|
+
def left: () -> untyped
|
162
|
+
|
163
|
+
def marshal_dump: () -> untyped
|
164
|
+
|
165
|
+
def marshal_load: (untyped) -> untyped
|
166
|
+
|
167
|
+
def state: () -> untyped
|
168
|
+
end
|
169
|
+
|
170
|
+
class Random::Base < RBS::Unnamed::Random_Base
|
171
|
+
end
|
172
|
+
|
173
|
+
# <!-- rdoc-file=lib/random/formatter.rb -->
|
174
|
+
# ## Random number formatter.
|
175
|
+
#
|
176
|
+
# Formats generated random numbers in many manners. When `'random/formatter'` is
|
177
|
+
# required, several methods are added to empty core module `Random::Formatter`,
|
178
|
+
# making them available as Random's instance and module methods.
|
179
|
+
#
|
180
|
+
# Standard library SecureRandom is also extended with the module, and the
|
181
|
+
# methods described below are available as a module methods in it.
|
182
|
+
#
|
183
|
+
# ### Examples
|
184
|
+
#
|
185
|
+
# Generate random hexadecimal strings:
|
186
|
+
#
|
187
|
+
# require 'random/formatter'
|
188
|
+
#
|
189
|
+
# prng = Random.new
|
190
|
+
# prng.hex(10) #=> "52750b30ffbc7de3b362"
|
191
|
+
# prng.hex(10) #=> "92b15d6c8dc4beb5f559"
|
192
|
+
# prng.hex(13) #=> "39b290146bea6ce975c37cfc23"
|
193
|
+
# # or just
|
194
|
+
# Random.hex #=> "1aed0c631e41be7f77365415541052ee"
|
195
|
+
#
|
196
|
+
# Generate random base64 strings:
|
197
|
+
#
|
198
|
+
# prng.base64(10) #=> "EcmTPZwWRAozdA=="
|
199
|
+
# prng.base64(10) #=> "KO1nIU+p9DKxGg=="
|
200
|
+
# prng.base64(12) #=> "7kJSM/MzBJI+75j8"
|
201
|
+
# Random.base64(4) #=> "bsQ3fQ=="
|
202
|
+
#
|
203
|
+
# Generate random binary strings:
|
204
|
+
#
|
205
|
+
# prng.random_bytes(10) #=> "\016\t{\370g\310pbr\301"
|
206
|
+
# prng.random_bytes(10) #=> "\323U\030TO\234\357\020\a\337"
|
207
|
+
# Random.random_bytes(6) #=> "\xA1\xE6Lr\xC43"
|
208
|
+
#
|
209
|
+
# Generate alphanumeric strings:
|
210
|
+
#
|
211
|
+
# prng.alphanumeric(10) #=> "S8baxMJnPl"
|
212
|
+
# prng.alphanumeric(10) #=> "aOxAg8BAJe"
|
213
|
+
# Random.alphanumeric #=> "TmP9OsJHJLtaZYhP"
|
214
|
+
#
|
215
|
+
# Generate UUIDs:
|
216
|
+
#
|
217
|
+
# prng.uuid #=> "2d931510-d99f-494a-8c67-87feb05e1594"
|
218
|
+
# prng.uuid #=> "bad85eb9-0713-4da7-8d36-07a8e4b00eab"
|
219
|
+
# Random.uuid #=> "f14e0271-de96-45cc-8911-8910292a42cd"
|
220
|
+
#
|
221
|
+
# All methods are available in the standard library SecureRandom, too:
|
222
|
+
#
|
223
|
+
# SecureRandom.hex #=> "05b45376a30c67238eb93b16499e50cf"
|
224
|
+
#
|
225
|
+
# <!-- rdoc-file=random.c -->
|
226
|
+
# Generate a random number in the given range as Random does
|
227
|
+
#
|
228
|
+
# prng.random_number #=> 0.5816771641321361
|
229
|
+
# prng.random_number(1000) #=> 485
|
230
|
+
# prng.random_number(1..6) #=> 3
|
231
|
+
# prng.rand #=> 0.5816771641321361
|
232
|
+
# prng.rand(1000) #=> 485
|
233
|
+
# prng.rand(1..6) #=> 3
|
234
|
+
#
|
235
|
+
module Random::Formatter
|
236
|
+
include RBS::Unnamed::Random_Formatter
|
237
|
+
end
|