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,428 @@
|
|
1
|
+
# <!-- rdoc-file=lib/ipaddr.rb -->
|
2
|
+
# IPAddr provides a set of methods to manipulate an IP address. Both IPv4 and
|
3
|
+
# IPv6 are supported.
|
4
|
+
#
|
5
|
+
# ## Example
|
6
|
+
#
|
7
|
+
# require 'ipaddr'
|
8
|
+
#
|
9
|
+
# ipaddr1 = IPAddr.new "3ffe:505:2::1"
|
10
|
+
#
|
11
|
+
# p ipaddr1 #=> #<IPAddr: IPv6:3ffe:0505:0002:0000:0000:0000:0000:0001/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>
|
12
|
+
#
|
13
|
+
# p ipaddr1.to_s #=> "3ffe:505:2::1"
|
14
|
+
#
|
15
|
+
# ipaddr2 = ipaddr1.mask(48) #=> #<IPAddr: IPv6:3ffe:0505:0002:0000:0000:0000:0000:0000/ffff:ffff:ffff:0000:0000:0000:0000:0000>
|
16
|
+
#
|
17
|
+
# p ipaddr2.to_s #=> "3ffe:505:2::"
|
18
|
+
#
|
19
|
+
# ipaddr3 = IPAddr.new "192.168.2.0/24"
|
20
|
+
#
|
21
|
+
# p ipaddr3 #=> #<IPAddr: IPv4:192.168.2.0/255.255.255.0>
|
22
|
+
#
|
23
|
+
class IPAddr
|
24
|
+
include Comparable
|
25
|
+
|
26
|
+
# <!--
|
27
|
+
# rdoc-file=lib/ipaddr.rb
|
28
|
+
# - new_ntoh(addr)
|
29
|
+
# -->
|
30
|
+
# Creates a new ipaddr containing the given network byte ordered string form of
|
31
|
+
# an IP address.
|
32
|
+
#
|
33
|
+
def self.new_ntoh: (String addr) -> IPAddr
|
34
|
+
|
35
|
+
# <!--
|
36
|
+
# rdoc-file=lib/ipaddr.rb
|
37
|
+
# - ntop(addr)
|
38
|
+
# -->
|
39
|
+
# Convert a network byte ordered string form of an IP address into human
|
40
|
+
# readable form. It expects the string to be encoded in Encoding::ASCII_8BIT
|
41
|
+
# (BINARY).
|
42
|
+
#
|
43
|
+
def self.ntop: (String addr) -> String
|
44
|
+
|
45
|
+
# <!--
|
46
|
+
# rdoc-file=lib/ipaddr.rb
|
47
|
+
# - new(addr = '::', family = Socket::AF_UNSPEC)
|
48
|
+
# -->
|
49
|
+
# Creates a new ipaddr object either from a human readable IP address
|
50
|
+
# representation in string, or from a packed in_addr value followed by an
|
51
|
+
# address family.
|
52
|
+
#
|
53
|
+
# In the former case, the following are the valid formats that will be
|
54
|
+
# recognized: "address", "address/prefixlen" and "address/mask", where IPv6
|
55
|
+
# address may be enclosed in square brackets (`[' and `]'). If a prefixlen or a
|
56
|
+
# mask is specified, it returns a masked IP address. Although the address
|
57
|
+
# family is determined automatically from a specified string, you can specify
|
58
|
+
# one explicitly by the optional second argument.
|
59
|
+
#
|
60
|
+
# Otherwise an IP address is generated from a packed in_addr value and an
|
61
|
+
# address family.
|
62
|
+
#
|
63
|
+
# The IPAddr class defines many methods and operators, and some of those, such
|
64
|
+
# as &, |, include? and ==, accept a string, or a packed in_addr value instead
|
65
|
+
# of an IPAddr object.
|
66
|
+
#
|
67
|
+
def initialize: (?String addr, ?untyped family) -> void
|
68
|
+
|
69
|
+
# <!--
|
70
|
+
# rdoc-file=lib/ipaddr.rb
|
71
|
+
# - &(other)
|
72
|
+
# -->
|
73
|
+
# Returns a new ipaddr built by bitwise AND.
|
74
|
+
#
|
75
|
+
def &: (untyped other) -> IPAddr
|
76
|
+
|
77
|
+
# <!--
|
78
|
+
# rdoc-file=lib/ipaddr.rb
|
79
|
+
# - <<(num)
|
80
|
+
# -->
|
81
|
+
# Returns a new ipaddr built by bitwise left shift.
|
82
|
+
#
|
83
|
+
def <<: (Integer num) -> IPAddr
|
84
|
+
|
85
|
+
# <!--
|
86
|
+
# rdoc-file=lib/ipaddr.rb
|
87
|
+
# - <=>(other)
|
88
|
+
# -->
|
89
|
+
# Compares the ipaddr with another.
|
90
|
+
#
|
91
|
+
def <=>: (untyped other) -> Integer?
|
92
|
+
|
93
|
+
# <!--
|
94
|
+
# rdoc-file=lib/ipaddr.rb
|
95
|
+
# - ==(other)
|
96
|
+
# -->
|
97
|
+
# Returns true if two ipaddrs are equal.
|
98
|
+
#
|
99
|
+
def ==: (untyped other) -> bool
|
100
|
+
|
101
|
+
# <!--
|
102
|
+
# rdoc-file=lib/ipaddr.rb
|
103
|
+
# - ===(other)
|
104
|
+
# -->
|
105
|
+
#
|
106
|
+
alias === include?
|
107
|
+
|
108
|
+
# <!--
|
109
|
+
# rdoc-file=lib/ipaddr.rb
|
110
|
+
# - >>(num)
|
111
|
+
# -->
|
112
|
+
# Returns a new ipaddr built by bitwise right-shift.
|
113
|
+
#
|
114
|
+
def >>: (Integer num) -> IPAddr
|
115
|
+
|
116
|
+
# <!--
|
117
|
+
# rdoc-file=lib/ipaddr.rb
|
118
|
+
# - eql?(other)
|
119
|
+
# -->
|
120
|
+
# Checks equality used by Hash.
|
121
|
+
#
|
122
|
+
def eql?: (untyped other) -> bool
|
123
|
+
|
124
|
+
# <!-- rdoc-file=lib/ipaddr.rb -->
|
125
|
+
# Returns the address family of this IP address.
|
126
|
+
#
|
127
|
+
attr_reader family: Integer
|
128
|
+
|
129
|
+
# <!--
|
130
|
+
# rdoc-file=lib/ipaddr.rb
|
131
|
+
# - hash()
|
132
|
+
# -->
|
133
|
+
# Returns a hash value used by Hash, Set, and Array classes
|
134
|
+
#
|
135
|
+
def hash: () -> Integer
|
136
|
+
|
137
|
+
# <!--
|
138
|
+
# rdoc-file=lib/ipaddr.rb
|
139
|
+
# - hton()
|
140
|
+
# -->
|
141
|
+
# Returns a network byte ordered string form of the IP address.
|
142
|
+
#
|
143
|
+
def hton: () -> String
|
144
|
+
|
145
|
+
# <!--
|
146
|
+
# rdoc-file=lib/ipaddr.rb
|
147
|
+
# - include?(other)
|
148
|
+
# -->
|
149
|
+
# Returns true if the given ipaddr is in the range.
|
150
|
+
#
|
151
|
+
# e.g.:
|
152
|
+
# require 'ipaddr'
|
153
|
+
# net1 = IPAddr.new("192.168.2.0/24")
|
154
|
+
# net2 = IPAddr.new("192.168.2.100")
|
155
|
+
# net3 = IPAddr.new("192.168.3.0")
|
156
|
+
# net4 = IPAddr.new("192.168.2.0/16")
|
157
|
+
# p net1.include?(net2) #=> true
|
158
|
+
# p net1.include?(net3) #=> false
|
159
|
+
# p net1.include?(net4) #=> false
|
160
|
+
# p net4.include?(net1) #=> true
|
161
|
+
#
|
162
|
+
def include?: (untyped other) -> bool
|
163
|
+
|
164
|
+
# <!--
|
165
|
+
# rdoc-file=lib/ipaddr.rb
|
166
|
+
# - inspect()
|
167
|
+
# -->
|
168
|
+
# Returns a string containing a human-readable representation of the ipaddr.
|
169
|
+
# ("#<IPAddr: family:address/mask>")
|
170
|
+
#
|
171
|
+
def inspect: () -> String
|
172
|
+
|
173
|
+
# <!--
|
174
|
+
# rdoc-file=lib/ipaddr.rb
|
175
|
+
# - ip6_arpa()
|
176
|
+
# -->
|
177
|
+
# Returns a string for DNS reverse lookup compatible with RFC3172.
|
178
|
+
#
|
179
|
+
def ip6_arpa: () -> String
|
180
|
+
|
181
|
+
# <!--
|
182
|
+
# rdoc-file=lib/ipaddr.rb
|
183
|
+
# - ip6_int()
|
184
|
+
# -->
|
185
|
+
# Returns a string for DNS reverse lookup compatible with RFC1886.
|
186
|
+
#
|
187
|
+
def ip6_int: () -> String
|
188
|
+
|
189
|
+
# <!--
|
190
|
+
# rdoc-file=lib/ipaddr.rb
|
191
|
+
# - ipv4?()
|
192
|
+
# -->
|
193
|
+
# Returns true if the ipaddr is an IPv4 address.
|
194
|
+
#
|
195
|
+
def ipv4?: () -> bool
|
196
|
+
|
197
|
+
# <!--
|
198
|
+
# rdoc-file=lib/ipaddr.rb
|
199
|
+
# - ipv4_compat()
|
200
|
+
# -->
|
201
|
+
# Returns a new ipaddr built by converting the native IPv4 address into an
|
202
|
+
# IPv4-compatible IPv6 address.
|
203
|
+
#
|
204
|
+
def ipv4_compat: () -> IPAddr
|
205
|
+
|
206
|
+
# <!--
|
207
|
+
# rdoc-file=lib/ipaddr.rb
|
208
|
+
# - ipv4_compat?()
|
209
|
+
# -->
|
210
|
+
# Returns true if the ipaddr is an IPv4-compatible IPv6 address.
|
211
|
+
#
|
212
|
+
def ipv4_compat?: () -> bool
|
213
|
+
|
214
|
+
# <!--
|
215
|
+
# rdoc-file=lib/ipaddr.rb
|
216
|
+
# - ipv4_mapped()
|
217
|
+
# -->
|
218
|
+
# Returns a new ipaddr built by converting the native IPv4 address into an
|
219
|
+
# IPv4-mapped IPv6 address.
|
220
|
+
#
|
221
|
+
def ipv4_mapped: () -> IPAddr
|
222
|
+
|
223
|
+
# <!--
|
224
|
+
# rdoc-file=lib/ipaddr.rb
|
225
|
+
# - ipv4_mapped?()
|
226
|
+
# -->
|
227
|
+
# Returns true if the ipaddr is an IPv4-mapped IPv6 address.
|
228
|
+
#
|
229
|
+
def ipv4_mapped?: () -> bool
|
230
|
+
|
231
|
+
# <!--
|
232
|
+
# rdoc-file=lib/ipaddr.rb
|
233
|
+
# - ipv6?()
|
234
|
+
# -->
|
235
|
+
# Returns true if the ipaddr is an IPv6 address.
|
236
|
+
#
|
237
|
+
def ipv6?: () -> bool
|
238
|
+
|
239
|
+
# <!--
|
240
|
+
# rdoc-file=lib/ipaddr.rb
|
241
|
+
# - link_local?()
|
242
|
+
# -->
|
243
|
+
# Returns true if the ipaddr is a link-local address. IPv4 addresses in
|
244
|
+
# 169.254.0.0/16 reserved by RFC 3927 and link-local IPv6 Unicast Addresses in
|
245
|
+
# fe80::/10 reserved by RFC 4291 are considered link-local. Link-local IPv4
|
246
|
+
# addresses in the IPv4-mapped IPv6 address range are also considered
|
247
|
+
# link-local.
|
248
|
+
#
|
249
|
+
def link_local?: () -> bool
|
250
|
+
|
251
|
+
# <!--
|
252
|
+
# rdoc-file=lib/ipaddr.rb
|
253
|
+
# - loopback?()
|
254
|
+
# -->
|
255
|
+
# Returns true if the ipaddr is a loopback address. Loopback IPv4 addresses in
|
256
|
+
# the IPv4-mapped IPv6 address range are also considered as loopback addresses.
|
257
|
+
#
|
258
|
+
def loopback?: () -> bool
|
259
|
+
|
260
|
+
# <!--
|
261
|
+
# rdoc-file=lib/ipaddr.rb
|
262
|
+
# - mask(prefixlen)
|
263
|
+
# -->
|
264
|
+
# Returns a new ipaddr built by masking IP address with the given
|
265
|
+
# prefixlen/netmask. (e.g. 8, 64, "255.255.255.0", etc.)
|
266
|
+
#
|
267
|
+
def mask: (String | Integer prefixlen) -> IPAddr
|
268
|
+
|
269
|
+
# <!--
|
270
|
+
# rdoc-file=lib/ipaddr.rb
|
271
|
+
# - native()
|
272
|
+
# -->
|
273
|
+
# Returns a new ipaddr built by converting the IPv6 address into a native IPv4
|
274
|
+
# address. If the IP address is not an IPv4-mapped or IPv4-compatible IPv6
|
275
|
+
# address, returns self.
|
276
|
+
#
|
277
|
+
def native: () -> IPAddr
|
278
|
+
|
279
|
+
# <!--
|
280
|
+
# rdoc-file=lib/ipaddr.rb
|
281
|
+
# - prefix()
|
282
|
+
# -->
|
283
|
+
# Returns the prefix length in bits for the ipaddr.
|
284
|
+
#
|
285
|
+
def prefix: () -> Integer
|
286
|
+
|
287
|
+
# <!--
|
288
|
+
# rdoc-file=lib/ipaddr.rb
|
289
|
+
# - prefix=(prefix)
|
290
|
+
# -->
|
291
|
+
# Sets the prefix length in bits
|
292
|
+
#
|
293
|
+
def prefix=: (Integer prefix) -> self
|
294
|
+
|
295
|
+
# <!--
|
296
|
+
# rdoc-file=lib/ipaddr.rb
|
297
|
+
# - private?()
|
298
|
+
# -->
|
299
|
+
# Returns true if the ipaddr is a private address. IPv4 addresses in
|
300
|
+
# 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16 as defined in RFC 1918 and IPv6
|
301
|
+
# Unique Local Addresses in fc00::/7 as defined in RFC 4193 are considered
|
302
|
+
# private. Private IPv4 addresses in the IPv4-mapped IPv6 address range are also
|
303
|
+
# considered private.
|
304
|
+
#
|
305
|
+
def private?: () -> bool
|
306
|
+
|
307
|
+
# <!--
|
308
|
+
# rdoc-file=lib/ipaddr.rb
|
309
|
+
# - reverse()
|
310
|
+
# -->
|
311
|
+
# Returns a string for DNS reverse lookup. It returns a string in RFC3172 form
|
312
|
+
# for an IPv6 address.
|
313
|
+
#
|
314
|
+
def reverse: () -> String
|
315
|
+
|
316
|
+
# <!--
|
317
|
+
# rdoc-file=lib/ipaddr.rb
|
318
|
+
# - succ()
|
319
|
+
# -->
|
320
|
+
# Returns the successor to the ipaddr.
|
321
|
+
#
|
322
|
+
def succ: () -> IPAddr
|
323
|
+
|
324
|
+
# <!--
|
325
|
+
# rdoc-file=lib/ipaddr.rb
|
326
|
+
# - to_i()
|
327
|
+
# -->
|
328
|
+
# Returns the integer representation of the ipaddr.
|
329
|
+
#
|
330
|
+
def to_i: () -> Integer
|
331
|
+
|
332
|
+
# <!--
|
333
|
+
# rdoc-file=lib/ipaddr.rb
|
334
|
+
# - to_range()
|
335
|
+
# -->
|
336
|
+
# Creates a Range object for the network address.
|
337
|
+
#
|
338
|
+
def to_range: () -> Range[IPAddr]
|
339
|
+
|
340
|
+
# <!--
|
341
|
+
# rdoc-file=lib/ipaddr.rb
|
342
|
+
# - to_s()
|
343
|
+
# -->
|
344
|
+
# Returns a string containing the IP address representation.
|
345
|
+
#
|
346
|
+
def to_s: () -> String
|
347
|
+
|
348
|
+
# <!--
|
349
|
+
# rdoc-file=lib/ipaddr.rb
|
350
|
+
# - to_string()
|
351
|
+
# -->
|
352
|
+
# Returns a string containing the IP address representation in canonical form.
|
353
|
+
#
|
354
|
+
def to_string: () -> String
|
355
|
+
|
356
|
+
# <!--
|
357
|
+
# rdoc-file=lib/ipaddr.rb
|
358
|
+
# - |(other)
|
359
|
+
# -->
|
360
|
+
# Returns a new ipaddr built by bitwise OR.
|
361
|
+
#
|
362
|
+
def |: (untyped other) -> IPAddr
|
363
|
+
|
364
|
+
# <!--
|
365
|
+
# rdoc-file=lib/ipaddr.rb
|
366
|
+
# - ~()
|
367
|
+
# -->
|
368
|
+
# Returns a new ipaddr built by bitwise negation.
|
369
|
+
#
|
370
|
+
def ~: () -> IPAddr
|
371
|
+
end
|
372
|
+
|
373
|
+
# <!-- rdoc-file=lib/ipaddr.rb -->
|
374
|
+
# Generic IPAddr related error. Exceptions raised in this class should inherit
|
375
|
+
# from Error.
|
376
|
+
#
|
377
|
+
class IPAddr::Error < ArgumentError
|
378
|
+
end
|
379
|
+
|
380
|
+
# <!-- rdoc-file=lib/ipaddr.rb -->
|
381
|
+
# Raised when the provided IP address is an invalid address.
|
382
|
+
#
|
383
|
+
class IPAddr::InvalidAddressError < IPAddr::Error
|
384
|
+
end
|
385
|
+
|
386
|
+
# <!-- rdoc-file=lib/ipaddr.rb -->
|
387
|
+
# Raised when the address family is invalid such as an address with an
|
388
|
+
# unsupported family, an address with an inconsistent family, or an address
|
389
|
+
# who's family cannot be determined.
|
390
|
+
#
|
391
|
+
class IPAddr::AddressFamilyError < IPAddr::Error
|
392
|
+
end
|
393
|
+
|
394
|
+
# <!-- rdoc-file=lib/ipaddr.rb -->
|
395
|
+
# Raised when the address is an invalid length.
|
396
|
+
#
|
397
|
+
class IPAddr::InvalidPrefixError < IPAddr::InvalidAddressError
|
398
|
+
end
|
399
|
+
|
400
|
+
# <!-- rdoc-file=lib/ipaddr.rb -->
|
401
|
+
# 32 bit mask for IPv4
|
402
|
+
#
|
403
|
+
IPAddr::IN4MASK: Integer
|
404
|
+
|
405
|
+
# <!-- rdoc-file=lib/ipaddr.rb -->
|
406
|
+
# Format string for IPv6
|
407
|
+
#
|
408
|
+
IPAddr::IN6FORMAT: String
|
409
|
+
|
410
|
+
# <!-- rdoc-file=lib/ipaddr.rb -->
|
411
|
+
# 128 bit mask for IPv6
|
412
|
+
#
|
413
|
+
IPAddr::IN6MASK: Integer
|
414
|
+
|
415
|
+
# <!-- rdoc-file=lib/ipaddr.rb -->
|
416
|
+
# Regexp *internally* used for parsing IPv4 address.
|
417
|
+
#
|
418
|
+
IPAddr::RE_IPV4ADDRLIKE: Regexp
|
419
|
+
|
420
|
+
# <!-- rdoc-file=lib/ipaddr.rb -->
|
421
|
+
# Regexp *internally* used for parsing IPv6 address.
|
422
|
+
#
|
423
|
+
IPAddr::RE_IPV6ADDRLIKE_COMPRESSED: Regexp
|
424
|
+
|
425
|
+
# <!-- rdoc-file=lib/ipaddr.rb -->
|
426
|
+
# Regexp *internally* used for parsing IPv6 address.
|
427
|
+
#
|
428
|
+
IPAddr::RE_IPV6ADDRLIKE_FULL: Regexp
|