rbs 2.8.4 → 3.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +12 -4
- data/.github/workflows/comments.yml +11 -11
- data/.github/workflows/dependabot.yml +30 -0
- data/.github/workflows/ruby.yml +40 -49
- data/.github/workflows/typecheck.yml +36 -0
- data/.github/workflows/windows.yml +28 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +42 -2
- data/CHANGELOG.md +845 -1
- data/README.md +64 -4
- data/Rakefile +198 -18
- data/Steepfile +11 -11
- data/config.yml +311 -0
- data/core/array.rbs +2189 -1914
- data/core/basic_object.rbs +59 -84
- data/core/binding.rbs +7 -69
- data/core/builtin.rbs +210 -11
- data/core/class.rbs +37 -0
- data/core/comparable.rbs +23 -25
- data/core/complex.rbs +449 -227
- data/core/constants.rbs +29 -21
- data/core/data.rbs +415 -0
- data/core/dir.rbs +698 -415
- data/core/encoding.rbs +468 -843
- data/core/enumerable.rbs +495 -455
- data/core/enumerator/product.rbs +92 -0
- data/core/enumerator.rbs +106 -9
- data/core/env.rbs +1 -1
- data/core/errno.rbs +506 -605
- data/core/errors.rbs +15 -17
- data/core/exception.rbs +361 -145
- data/core/false_class.rbs +39 -26
- data/core/fiber.rbs +121 -14
- data/core/file.rbs +1262 -320
- data/core/file_test.rbs +62 -45
- data/core/float.rbs +187 -208
- data/core/gc.rbs +446 -196
- data/core/global_variables.rbs +29 -29
- data/core/hash.rbs +242 -349
- data/core/integer.rbs +246 -308
- data/core/io/buffer.rbs +373 -122
- data/core/io/wait.rbs +29 -17
- data/core/io.rbs +1881 -1518
- data/core/kernel.rbs +2116 -1538
- data/core/marshal.rbs +24 -14
- data/core/match_data.rbs +413 -166
- data/core/math.rbs +531 -291
- data/core/method.rbs +101 -32
- data/core/module.rbs +228 -64
- data/core/nil_class.rbs +106 -47
- data/core/numeric.rbs +206 -292
- data/core/object.rbs +73 -1168
- data/core/object_space/weak_key_map.rbs +166 -0
- data/core/object_space.rbs +5 -3
- data/core/proc.rbs +280 -39
- data/core/process.rbs +1318 -658
- data/core/ractor.rbs +200 -134
- data/core/random.rbs +21 -4
- data/core/range.rbs +309 -153
- data/core/rational.rbs +4 -12
- data/core/rb_config.rbs +64 -43
- data/core/rbs/unnamed/argf.rbs +411 -147
- data/core/rbs/unnamed/env_class.rbs +137 -253
- data/core/rbs/unnamed/random.rbs +49 -26
- data/core/refinement.rbs +16 -1
- data/core/regexp.rbs +1568 -862
- data/core/ruby_vm.rbs +719 -7
- data/core/rubygems/config_file.rbs +3 -0
- data/core/rubygems/errors.rbs +69 -6
- data/core/rubygems/rubygems.rbs +71 -17
- data/core/rubygems/version.rbs +11 -7
- data/{stdlib/set/0 → core}/set.rbs +80 -91
- data/core/signal.rbs +14 -8
- data/core/string.rbs +1732 -1607
- data/core/struct.rbs +467 -95
- data/core/symbol.rbs +215 -245
- data/core/thread.rbs +133 -89
- data/core/thread_group.rbs +9 -9
- data/core/time.rbs +1141 -841
- data/core/trace_point.rbs +181 -121
- data/core/true_class.rbs +58 -32
- data/core/unbound_method.rbs +103 -30
- data/core/warning.rbs +50 -5
- data/docs/CONTRIBUTING.md +1 -1
- data/docs/architecture.md +110 -0
- data/docs/collection.md +59 -5
- data/docs/data_and_struct.md +86 -0
- data/docs/gem.md +57 -0
- data/docs/rbs_by_example.md +16 -35
- data/docs/repo.md +1 -1
- data/docs/sigs.md +7 -7
- data/docs/stdlib.md +63 -5
- data/docs/syntax.md +255 -61
- data/docs/tools.md +1 -0
- data/ext/rbs_extension/extconf.rb +10 -0
- data/ext/rbs_extension/lexer.c +1741 -1548
- data/ext/rbs_extension/lexer.h +11 -1
- data/ext/rbs_extension/lexer.re +12 -6
- data/ext/rbs_extension/lexstate.c +26 -3
- data/ext/rbs_extension/location.c +119 -111
- data/ext/rbs_extension/location.h +32 -7
- data/ext/rbs_extension/main.c +3 -0
- data/ext/rbs_extension/parser.c +883 -481
- data/ext/rbs_extension/parserstate.c +65 -25
- data/ext/rbs_extension/parserstate.h +13 -3
- data/ext/rbs_extension/rbs_extension.h +1 -10
- data/ext/rbs_extension/unescape.c +7 -47
- data/goodcheck.yml +2 -2
- data/{ext/rbs_extension → include/rbs}/constants.h +26 -15
- data/include/rbs/ruby_objs.h +72 -0
- data/include/rbs.h +7 -0
- data/lib/rbs/annotate/annotations.rb +3 -3
- data/lib/rbs/annotate/formatter.rb +13 -3
- data/lib/rbs/annotate/rdoc_annotator.rb +1 -1
- data/lib/rbs/annotate/rdoc_source.rb +12 -3
- data/lib/rbs/ast/declarations.rb +85 -2
- data/lib/rbs/ast/directives.rb +39 -0
- data/lib/rbs/ast/members.rb +49 -15
- data/lib/rbs/ast/type_param.rb +104 -15
- data/lib/rbs/ast/visitor.rb +137 -0
- data/lib/rbs/buffer.rb +5 -0
- data/lib/rbs/cli/colored_io.rb +48 -0
- data/lib/rbs/cli/diff.rb +83 -0
- data/lib/rbs/cli/validate.rb +356 -0
- data/lib/rbs/cli.rb +253 -143
- data/lib/rbs/collection/cleaner.rb +8 -1
- data/lib/rbs/collection/config/lockfile.rb +92 -0
- data/lib/rbs/collection/config/lockfile_generator.rb +154 -65
- data/lib/rbs/collection/config.rb +19 -46
- data/lib/rbs/collection/installer.rb +12 -13
- data/lib/rbs/collection/sources/base.rb +2 -2
- data/lib/rbs/collection/sources/git.rb +146 -69
- data/lib/rbs/collection/sources/local.rb +81 -0
- data/lib/rbs/collection/sources/rubygems.rb +10 -12
- data/lib/rbs/collection/sources/stdlib.rb +14 -13
- data/lib/rbs/collection/sources.rb +15 -2
- data/lib/rbs/collection.rb +2 -1
- data/lib/rbs/definition.rb +13 -16
- data/lib/rbs/definition_builder/ancestor_builder.rb +100 -24
- data/lib/rbs/definition_builder/method_builder.rb +4 -4
- data/lib/rbs/definition_builder.rb +489 -584
- data/lib/rbs/diff.rb +125 -0
- data/lib/rbs/environment/use_map.rb +77 -0
- data/lib/rbs/environment.rb +406 -105
- data/lib/rbs/environment_loader.rb +48 -44
- data/lib/rbs/environment_walker.rb +1 -1
- data/lib/rbs/errors.rb +175 -56
- data/lib/rbs/file_finder.rb +28 -0
- data/lib/rbs/location_aux.rb +8 -7
- data/lib/rbs/locator.rb +37 -15
- data/lib/rbs/method_type.rb +23 -0
- data/lib/rbs/namespace.rb +1 -0
- data/lib/rbs/parser/lex_result.rb +15 -0
- data/lib/rbs/parser/token.rb +23 -0
- data/lib/rbs/parser_aux.rb +22 -13
- data/lib/rbs/prototype/helpers.rb +48 -22
- data/lib/rbs/prototype/node_usage.rb +99 -0
- data/lib/rbs/prototype/rb.rb +125 -31
- data/lib/rbs/prototype/rbi.rb +49 -36
- 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 +273 -159
- data/lib/rbs/resolver/constant_resolver.rb +24 -8
- data/lib/rbs/resolver/type_name_resolver.rb +41 -7
- data/lib/rbs/sorter.rb +153 -123
- data/lib/rbs/substitution.rb +19 -0
- data/lib/rbs/subtractor.rb +201 -0
- data/lib/rbs/test/errors.rb +24 -11
- data/lib/rbs/test/guaranteed.rb +30 -0
- data/lib/rbs/test/hook.rb +45 -40
- data/lib/rbs/test/setup.rb +1 -1
- data/lib/rbs/test/tester.rb +1 -1
- data/lib/rbs/test/type_check.rb +120 -23
- data/lib/rbs/test.rb +6 -3
- data/lib/rbs/type_alias_dependency.rb +13 -3
- data/lib/rbs/type_alias_regularity.rb +21 -14
- data/lib/rbs/type_name.rb +18 -13
- data/lib/rbs/types.rb +352 -18
- data/lib/rbs/unit_test/convertibles.rb +176 -0
- data/lib/rbs/unit_test/spy.rb +136 -0
- data/lib/rbs/unit_test/type_assertions.rb +341 -0
- data/lib/rbs/unit_test/with_aliases.rb +143 -0
- data/lib/rbs/unit_test.rb +6 -0
- data/lib/rbs/validator.rb +55 -30
- data/lib/rbs/variance_calculator.rb +26 -23
- data/lib/rbs/vendorer.rb +3 -3
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/writer.rb +69 -22
- data/lib/rbs.rb +7 -2
- data/lib/rdoc/discover.rb +1 -1
- data/lib/rdoc_plugin/parser.rb +5 -5
- data/rbs.gemspec +12 -2
- data/schema/decls.json +1 -1
- data/schema/members.json +15 -10
- data/sig/ancestor_builder.rbs +4 -0
- data/sig/ancestor_graph.rbs +22 -2
- data/sig/annotate/formatter.rbs +2 -2
- data/sig/annotate/rdoc_annotater.rbs +1 -1
- 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 +4 -0
- data/sig/collection/config/lockfile.rbs +74 -0
- data/sig/collection/config/lockfile_generator.rbs +66 -0
- data/sig/collection/config.rbs +5 -48
- data/sig/collection/installer.rbs +1 -1
- data/sig/collection/sources.rbs +105 -33
- data/sig/constant.rbs +1 -1
- data/sig/declarations.rbs +42 -3
- data/sig/definition.rbs +26 -10
- data/sig/definition_builder.rbs +103 -81
- data/sig/diff.rbs +28 -0
- data/sig/directives.rbs +61 -0
- data/sig/environment.rbs +175 -29
- data/sig/environment_loader.rbs +20 -18
- data/sig/errors.rbs +123 -2
- data/sig/file_finder.rbs +28 -0
- data/sig/location.rbs +0 -3
- data/sig/locator.rbs +14 -2
- data/sig/manifest.yaml +0 -1
- data/sig/members.rbs +32 -9
- data/sig/method_types.rbs +10 -4
- data/sig/namespace.rbs +2 -3
- data/sig/parser.rbs +55 -16
- data/sig/prototype/helpers.rbs +4 -0
- data/sig/prototype/node_usage.rbs +20 -0
- data/sig/prototype/rb.rbs +10 -2
- data/sig/prototype/rbi.rbs +2 -0
- data/sig/prototype/runtime.rbs +182 -0
- data/sig/rbs.rbs +1 -1
- data/sig/rdoc/rbs.rbs +4 -0
- data/sig/repository.rbs +7 -5
- data/sig/resolver/constant_resolver.rbs +3 -4
- data/sig/resolver/context.rbs +1 -1
- data/sig/resolver/type_name_resolver.rbs +5 -1
- data/sig/shims/bundler.rbs +38 -0
- data/sig/shims/rubygems.rbs +19 -0
- data/sig/sorter.rbs +23 -5
- data/sig/substitution.rbs +6 -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 +31 -0
- data/sig/type_alias_regularity.rbs +12 -6
- data/sig/type_param.rbs +45 -9
- data/sig/typename.rbs +8 -5
- data/sig/types.rbs +119 -12
- data/sig/unit_test/convertibles.rbs +154 -0
- data/sig/unit_test/spy.rbs +28 -0
- data/sig/unit_test/type_assertions.rbs +194 -0
- data/sig/unit_test/with_aliases.rbs +136 -0
- data/sig/use_map.rbs +35 -0
- data/sig/validator.rbs +12 -5
- data/sig/variance_calculator.rbs +3 -1
- data/sig/vendorer.rbs +1 -1
- data/sig/visitor.rbs +47 -0
- data/sig/writer.rbs +6 -2
- data/src/constants.c +153 -0
- data/src/ruby_objs.c +793 -0
- data/stdlib/base64/0/base64.rbs +298 -45
- data/stdlib/benchmark/0/benchmark.rbs +12 -3
- data/stdlib/bigdecimal/0/big_decimal.rbs +62 -198
- data/stdlib/cgi/0/core.rbs +68 -15
- data/stdlib/cgi/0/manifest.yaml +1 -0
- data/stdlib/coverage/0/coverage.rbs +50 -11
- data/stdlib/csv/0/csv.rbs +90 -119
- data/stdlib/csv/0/manifest.yaml +1 -0
- data/stdlib/date/0/date.rbs +806 -735
- data/stdlib/date/0/date_time.rbs +70 -211
- data/stdlib/dbm/0/dbm.rbs +0 -2
- 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 +3 -8
- data/stdlib/digest/0/digest.rbs +48 -35
- data/stdlib/erb/0/erb.rbs +15 -39
- data/stdlib/etc/0/etc.rbs +174 -54
- data/stdlib/fileutils/0/fileutils.rbs +1234 -385
- data/stdlib/forwardable/0/forwardable.rbs +4 -4
- data/stdlib/io-console/0/io-console.rbs +82 -17
- data/stdlib/ipaddr/0/ipaddr.rbs +11 -6
- data/stdlib/json/0/json.rbs +434 -151
- data/stdlib/kconv/0/kconv.rbs +166 -0
- data/stdlib/logger/0/formatter.rbs +0 -2
- data/stdlib/logger/0/log_device.rbs +1 -3
- data/stdlib/logger/0/logger.rbs +465 -328
- data/stdlib/minitest/0/kernel.rbs +2 -2
- data/stdlib/minitest/0/minitest/abstract_reporter.rbs +4 -1
- data/stdlib/minitest/0/minitest/assertion.rbs +1 -0
- data/stdlib/minitest/0/minitest/assertions.rbs +58 -13
- data/stdlib/minitest/0/minitest/backtrace_filter.rbs +7 -0
- data/stdlib/minitest/0/minitest/bench_spec.rbs +8 -8
- data/stdlib/minitest/0/minitest/benchmark.rbs +17 -16
- 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/mock.rbs +9 -5
- data/stdlib/minitest/0/minitest/parallel/executor.rbs +4 -0
- data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +0 -1
- data/stdlib/minitest/0/minitest/pride_io.rbs +8 -0
- data/stdlib/minitest/0/minitest/pride_lol.rbs +2 -0
- data/stdlib/minitest/0/minitest/progress_reporter.rbs +1 -1
- data/stdlib/minitest/0/minitest/reportable.rbs +2 -0
- data/stdlib/minitest/0/minitest/runnable.rbs +33 -1
- data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +1 -1
- data/stdlib/minitest/0/minitest/spec/dsl.rbs +10 -6
- data/stdlib/minitest/0/minitest/spec.rbs +1 -1
- data/stdlib/minitest/0/minitest/statistics_reporter.rbs +5 -0
- data/stdlib/minitest/0/minitest/summary_reporter.rbs +0 -7
- data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +7 -7
- data/stdlib/minitest/0/minitest/test.rbs +7 -14
- data/stdlib/minitest/0/minitest/unexpected_error.rbs +2 -0
- data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
- data/stdlib/minitest/0/minitest/unit.rbs +1 -2
- data/stdlib/minitest/0/minitest.rbs +41 -892
- data/stdlib/monitor/0/monitor.rbs +91 -10
- data/stdlib/mutex_m/0/mutex_m.rbs +0 -2
- data/stdlib/net-http/0/manifest.yaml +1 -1
- data/stdlib/net-http/0/net-http.rbs +3858 -964
- 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 +35 -5
- data/stdlib/objspace/0/objspace.rbs +40 -18
- 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 +1 -0
- data/stdlib/openssl/0/openssl.rbs +681 -316
- data/stdlib/optparse/0/optparse.rbs +100 -65
- data/stdlib/pathname/0/pathname.rbs +24 -15
- data/stdlib/pp/0/manifest.yaml +2 -0
- data/stdlib/pp/0/pp.rbs +300 -0
- data/stdlib/prettyprint/0/prettyprint.rbs +2 -6
- data/stdlib/pstore/0/pstore.rbs +370 -156
- data/stdlib/psych/0/core_ext.rbs +12 -0
- data/stdlib/{yaml → psych}/0/dbm.rbs +3 -3
- data/stdlib/psych/0/manifest.yaml +3 -0
- data/stdlib/psych/0/psych.rbs +402 -0
- data/stdlib/{yaml → psych}/0/store.rbs +2 -2
- data/stdlib/pty/0/pty.rbs +63 -11
- 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 +13 -380
- 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/resolv.rbs +16 -79
- data/stdlib/ripper/0/ripper.rbs +1648 -0
- data/stdlib/securerandom/0/securerandom.rbs +7 -2
- data/stdlib/shellwords/0/shellwords.rbs +11 -12
- data/stdlib/singleton/0/singleton.rbs +0 -3
- data/stdlib/socket/0/addrinfo.rbs +13 -18
- data/stdlib/socket/0/basic_socket.rbs +5 -10
- data/stdlib/socket/0/ip_socket.rbs +0 -2
- data/stdlib/socket/0/socket.rbs +77 -46
- data/stdlib/socket/0/tcp_server.rbs +0 -5
- data/stdlib/socket/0/tcp_socket.rbs +36 -3
- data/stdlib/socket/0/udp_socket.rbs +4 -5
- data/stdlib/socket/0/unix_server.rbs +0 -5
- data/stdlib/socket/0/unix_socket.rbs +2 -4
- data/{core/string_io.rbs → stdlib/stringio/0/stringio.rbs} +188 -107
- data/stdlib/strscan/0/string_scanner.rbs +1269 -425
- data/stdlib/tempfile/0/tempfile.rbs +224 -61
- data/stdlib/time/0/time.rbs +48 -35
- data/stdlib/timeout/0/timeout.rbs +17 -8
- data/stdlib/tmpdir/0/tmpdir.rbs +10 -3
- data/stdlib/tsort/0/tsort.rbs +0 -4
- data/stdlib/uri/0/common.rbs +271 -144
- data/stdlib/uri/0/file.rbs +5 -0
- data/stdlib/uri/0/ftp.rbs +1 -1
- data/stdlib/uri/0/generic.rbs +26 -22
- data/stdlib/uri/0/http.rbs +4 -4
- data/stdlib/uri/0/ldap.rbs +1 -1
- data/stdlib/uri/0/mailto.rbs +84 -0
- data/stdlib/uri/0/rfc2396_parser.rbs +3 -0
- data/stdlib/yaml/0/manifest.yaml +1 -2
- data/stdlib/yaml/0/yaml.rbs +1 -199
- 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 +1 -3
- data/stdlib/zlib/0/zstream.rbs +200 -0
- data/templates/include/rbs/constants.h.erb +20 -0
- data/templates/include/rbs/ruby_objs.h.erb +10 -0
- data/templates/src/constants.c.erb +36 -0
- data/templates/src/ruby_objs.c.erb +27 -0
- data/templates/template.rb +122 -0
- metadata +136 -36
- data/Gemfile +0 -33
- data/Gemfile.lock +0 -118
- data/core/deprecated.rbs +0 -9
- data/ext/rbs_extension/constants.c +0 -135
- data/ext/rbs_extension/ruby_objs.c +0 -525
- data/ext/rbs_extension/ruby_objs.h +0 -43
- data/lib/rbs/constant_table.rb +0 -167
- data/lib/rbs/parser_compat/lexer_error.rb +0 -6
- data/lib/rbs/parser_compat/located_value.rb +0 -7
- data/lib/rbs/parser_compat/semantics_error.rb +0 -6
- data/lib/rbs/parser_compat/syntax_error.rb +0 -6
- data/lib/rbs/test/spy.rb +0 -6
- data/lib/rbs/type_name_resolver.rb +0 -67
- data/sig/constant_table.rbs +0 -30
- data/sig/shims/abstract_syntax_tree.rbs +0 -25
- data/sig/shims/pp.rbs +0 -3
- data/sig/shims/ripper.rbs +0 -8
- data/sig/shims.rbs +0 -69
- data/sig/type_name_resolver.rbs +0 -26
- data/stdlib/minitest/0/manifest.yaml +0 -2
- data/stdlib/prime/0/integer-extension.rbs +0 -41
- data/stdlib/prime/0/manifest.yaml +0 -2
- data/stdlib/prime/0/prime.rbs +0 -372
data/core/encoding.rbs
CHANGED
@@ -1,197 +1,58 @@
|
|
1
1
|
# <!-- rdoc-file=encoding.c -->
|
2
2
|
# An Encoding instance represents a character encoding usable in Ruby. It is
|
3
|
-
# defined as a constant under the Encoding namespace. It has a name and
|
3
|
+
# defined as a constant under the Encoding namespace. It has a name and,
|
4
4
|
# optionally, aliases:
|
5
5
|
#
|
6
|
-
# Encoding::
|
7
|
-
#
|
6
|
+
# Encoding::US_ASCII.name # => "US-ASCII"
|
7
|
+
# Encoding::US_ASCII.names # => ["US-ASCII", "ASCII", "ANSI_X3.4-1968", "646"]
|
8
8
|
#
|
9
|
-
#
|
10
|
-
# #=> ["ISO-8859-1", "ISO8859-1"]
|
9
|
+
# A Ruby method that accepts an encoding as an argument will accept:
|
11
10
|
#
|
12
|
-
#
|
13
|
-
#
|
14
|
-
#
|
11
|
+
# * An Encoding object.
|
12
|
+
# * The name of an encoding.
|
13
|
+
# * An alias for an encoding name.
|
15
14
|
#
|
16
|
-
#
|
17
|
-
# #=> #<Encoding:UTF-8>
|
15
|
+
# These are equivalent:
|
18
16
|
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
22
|
-
# #=> #<Encoding:ISO-8859-1>
|
17
|
+
# 'foo'.encode(Encoding::US_ASCII) # Encoding object.
|
18
|
+
# 'foo'.encode('US-ASCII') # Encoding name.
|
19
|
+
# 'foo'.encode('ASCII') # Encoding alias.
|
23
20
|
#
|
24
|
-
#
|
25
|
-
#
|
21
|
+
# For a full discussion of encodings and their uses, see [the Encodings
|
22
|
+
# document](rdoc-ref:encodings.rdoc).
|
26
23
|
#
|
27
|
-
# Encoding::ASCII_8BIT is a special encoding that is usually used for a
|
28
|
-
# string, not a
|
29
|
-
#
|
30
|
-
#
|
24
|
+
# Encoding::ASCII_8BIT is a special-purpose encoding that is usually used for a
|
25
|
+
# string of bytes, not a string of characters. But as the name indicates, its
|
26
|
+
# characters in the ASCII range are considered as ASCII characters. This is
|
27
|
+
# useful when you use other ASCII-compatible encodings.
|
31
28
|
#
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
#
|
36
|
-
#
|
37
|
-
#
|
38
|
-
#
|
39
|
-
#
|
40
|
-
#
|
41
|
-
#
|
42
|
-
#
|
43
|
-
#
|
44
|
-
#
|
45
|
-
#
|
46
|
-
#
|
47
|
-
#
|
48
|
-
#
|
49
|
-
#
|
50
|
-
#
|
51
|
-
#
|
52
|
-
#
|
53
|
-
#
|
54
|
-
#
|
55
|
-
#
|
56
|
-
#
|
57
|
-
|
58
|
-
|
59
|
-
# #=> "R\xE9sum\xE9"
|
60
|
-
# string.encoding
|
61
|
-
# #=> #<Encoding::ISO-8859-1>
|
62
|
-
#
|
63
|
-
# ## Script encoding
|
64
|
-
#
|
65
|
-
# All Ruby script code has an associated Encoding which any String literal
|
66
|
-
# created in the source code will be associated to.
|
67
|
-
#
|
68
|
-
# The default script encoding is Encoding::UTF_8 after v2.0, but it can be
|
69
|
-
# changed by a magic comment on the first line of the source code file (or
|
70
|
-
# second line, if there is a shebang line on the first). The comment must
|
71
|
-
# contain the word `coding` or `encoding`, followed by a colon, space and the
|
72
|
-
# Encoding name or alias:
|
73
|
-
#
|
74
|
-
# # encoding: UTF-8
|
75
|
-
#
|
76
|
-
# "some string".encoding
|
77
|
-
# #=> #<Encoding:UTF-8>
|
78
|
-
#
|
79
|
-
# The `__ENCODING__` keyword returns the script encoding of the file which the
|
80
|
-
# keyword is written:
|
81
|
-
#
|
82
|
-
# # encoding: ISO-8859-1
|
83
|
-
#
|
84
|
-
# __ENCODING__
|
85
|
-
# #=> #<Encoding:ISO-8859-1>
|
86
|
-
#
|
87
|
-
# `ruby -K` will change the default locale encoding, but this is not
|
88
|
-
# recommended. Ruby source files should declare its script encoding by a magic
|
89
|
-
# comment even when they only depend on US-ASCII strings or regular expressions.
|
90
|
-
#
|
91
|
-
# ## Locale encoding
|
92
|
-
#
|
93
|
-
# The default encoding of the environment. Usually derived from locale.
|
94
|
-
#
|
95
|
-
# see Encoding.locale_charmap, Encoding.find('locale')
|
96
|
-
#
|
97
|
-
# ## Filesystem encoding
|
98
|
-
#
|
99
|
-
# The default encoding of strings from the filesystem of the environment. This
|
100
|
-
# is used for strings of file names or paths.
|
101
|
-
#
|
102
|
-
# see Encoding.find('filesystem')
|
103
|
-
#
|
104
|
-
# ## External encoding
|
105
|
-
#
|
106
|
-
# Each IO object has an external encoding which indicates the encoding that Ruby
|
107
|
-
# will use to read its data. By default Ruby sets the external encoding of an IO
|
108
|
-
# object to the default external encoding. The default external encoding is set
|
109
|
-
# by locale encoding or the interpreter `-E` option. Encoding.default_external
|
110
|
-
# returns the current value of the external encoding.
|
111
|
-
#
|
112
|
-
# ENV["LANG"]
|
113
|
-
# #=> "UTF-8"
|
114
|
-
# Encoding.default_external
|
115
|
-
# #=> #<Encoding:UTF-8>
|
116
|
-
#
|
117
|
-
# $ ruby -E ISO-8859-1 -e "p Encoding.default_external"
|
118
|
-
# #<Encoding:ISO-8859-1>
|
119
|
-
#
|
120
|
-
# $ LANG=C ruby -e 'p Encoding.default_external'
|
121
|
-
# #<Encoding:US-ASCII>
|
122
|
-
#
|
123
|
-
# The default external encoding may also be set through
|
124
|
-
# Encoding.default_external=, but you should not do this as strings created
|
125
|
-
# before and after the change will have inconsistent encodings. Instead use
|
126
|
-
# `ruby -E` to invoke ruby with the correct external encoding.
|
127
|
-
#
|
128
|
-
# When you know that the actual encoding of the data of an IO object is not the
|
129
|
-
# default external encoding, you can reset its external encoding with
|
130
|
-
# IO#set_encoding or set it at IO object creation (see IO.new options).
|
131
|
-
#
|
132
|
-
# ## Internal encoding
|
133
|
-
#
|
134
|
-
# To process the data of an IO object which has an encoding different from its
|
135
|
-
# external encoding, you can set its internal encoding. Ruby will use this
|
136
|
-
# internal encoding to transcode the data when it is read from the IO object.
|
137
|
-
#
|
138
|
-
# Conversely, when data is written to the IO object it is transcoded from the
|
139
|
-
# internal encoding to the external encoding of the IO object.
|
140
|
-
#
|
141
|
-
# The internal encoding of an IO object can be set with IO#set_encoding or at IO
|
142
|
-
# object creation (see IO.new options).
|
143
|
-
#
|
144
|
-
# The internal encoding is optional and when not set, the Ruby default internal
|
145
|
-
# encoding is used. If not explicitly set this default internal encoding is
|
146
|
-
# `nil` meaning that by default, no transcoding occurs.
|
147
|
-
#
|
148
|
-
# The default internal encoding can be set with the interpreter option `-E`.
|
149
|
-
# Encoding.default_internal returns the current internal encoding.
|
150
|
-
#
|
151
|
-
# $ ruby -e 'p Encoding.default_internal'
|
152
|
-
# nil
|
153
|
-
#
|
154
|
-
# $ ruby -E ISO-8859-1:UTF-8 -e "p [Encoding.default_external, \
|
155
|
-
# Encoding.default_internal]"
|
156
|
-
# [#<Encoding:ISO-8859-1>, #<Encoding:UTF-8>]
|
157
|
-
#
|
158
|
-
# The default internal encoding may also be set through
|
159
|
-
# Encoding.default_internal=, but you should not do this as strings created
|
160
|
-
# before and after the change will have inconsistent encodings. Instead use
|
161
|
-
# `ruby -E` to invoke ruby with the correct internal encoding.
|
162
|
-
#
|
163
|
-
# ## IO encoding example
|
164
|
-
#
|
165
|
-
# In the following example a UTF-8 encoded string "Ru00E9sumu00E9" is transcoded
|
166
|
-
# for output to ISO-8859-1 encoding, then read back in and transcoded to UTF-8:
|
167
|
-
#
|
168
|
-
# string = "R\u00E9sum\u00E9"
|
169
|
-
#
|
170
|
-
# open("transcoded.txt", "w:ISO-8859-1") do |io|
|
171
|
-
# io.write(string)
|
172
|
-
# end
|
173
|
-
#
|
174
|
-
# puts "raw text:"
|
175
|
-
# p File.binread("transcoded.txt")
|
176
|
-
# puts
|
177
|
-
#
|
178
|
-
# open("transcoded.txt", "r:ISO-8859-1:UTF-8") do |io|
|
179
|
-
# puts "transcoded text:"
|
180
|
-
# p io.read
|
181
|
-
# end
|
182
|
-
#
|
183
|
-
# While writing the file, the internal encoding is not specified as it is only
|
184
|
-
# necessary for reading. While reading the file both the internal and external
|
185
|
-
# encoding must be specified to obtain the correct result.
|
186
|
-
#
|
187
|
-
# $ ruby t.rb
|
188
|
-
# raw text:
|
189
|
-
# "R\xE9sum\xE9"
|
190
|
-
#
|
191
|
-
# transcoded text:
|
192
|
-
# "R\u00E9sum\u00E9"
|
193
|
-
#
|
194
|
-
class Encoding < Object
|
29
|
+
class Encoding
|
30
|
+
def self._load: [T] (T) -> T
|
31
|
+
|
32
|
+
# <!--
|
33
|
+
# rdoc-file=encoding.c
|
34
|
+
# - Encoding.locale_charmap -> string
|
35
|
+
# -->
|
36
|
+
# Returns the locale charmap name. It returns nil if no appropriate information.
|
37
|
+
#
|
38
|
+
# Debian GNU/Linux
|
39
|
+
# LANG=C
|
40
|
+
# Encoding.locale_charmap #=> "ANSI_X3.4-1968"
|
41
|
+
# LANG=ja_JP.EUC-JP
|
42
|
+
# Encoding.locale_charmap #=> "EUC-JP"
|
43
|
+
#
|
44
|
+
# SunOS 5
|
45
|
+
# LANG=C
|
46
|
+
# Encoding.locale_charmap #=> "646"
|
47
|
+
# LANG=ja
|
48
|
+
# Encoding.locale_charmap #=> "eucJP"
|
49
|
+
#
|
50
|
+
# The result is highly platform dependent. So
|
51
|
+
# Encoding.find(Encoding.locale_charmap) may cause an error. If you need some
|
52
|
+
# encoding object even for unknown locale, Encoding.find("locale") can be used.
|
53
|
+
#
|
54
|
+
def self.locale_charmap: () -> String
|
55
|
+
|
195
56
|
# <!--
|
196
57
|
# rdoc-file=encoding.c
|
197
58
|
# - Encoding.aliases -> {"alias1" => "orig1", "alias2" => "orig2", ...}
|
@@ -202,7 +63,7 @@ class Encoding < Object
|
|
202
63
|
# #=> {"BINARY"=>"ASCII-8BIT", "ASCII"=>"US-ASCII", "ANSI_X3.4-1968"=>"US-ASCII",
|
203
64
|
# "SJIS"=>"Windows-31J", "eucJP"=>"EUC-JP", "CP932"=>"Windows-31J"}
|
204
65
|
#
|
205
|
-
def self.aliases: () ->
|
66
|
+
def self.aliases: () -> Hash[String, String]
|
206
67
|
|
207
68
|
# <!--
|
208
69
|
# rdoc-file=encoding.c
|
@@ -247,7 +108,6 @@ class Encoding < Object
|
|
247
108
|
# * String#inspect
|
248
109
|
# * Regexp#inspect
|
249
110
|
#
|
250
|
-
#
|
251
111
|
# While strings created from these locations will have this encoding, the
|
252
112
|
# encoding may not be valid. Be sure to check String#valid_encoding?.
|
253
113
|
#
|
@@ -272,8 +132,8 @@ class Encoding < Object
|
|
272
132
|
# See Encoding::default_external for information on how the default external
|
273
133
|
# encoding is used.
|
274
134
|
#
|
275
|
-
def self.default_external=: (
|
276
|
-
| (
|
135
|
+
def self.default_external=: (Encoding enc) -> Encoding
|
136
|
+
| [T < _ToStr] (T enc) -> T
|
277
137
|
|
278
138
|
# <!--
|
279
139
|
# rdoc-file=encoding.c
|
@@ -295,7 +155,6 @@ class Encoding < Object
|
|
295
155
|
# * Values from ENV
|
296
156
|
# * Values in ARGV including $PROGRAM_NAME
|
297
157
|
#
|
298
|
-
#
|
299
158
|
# Additionally String#encode and String#encode! use the default internal
|
300
159
|
# encoding if no encoding is given.
|
301
160
|
#
|
@@ -319,9 +178,9 @@ class Encoding < Object
|
|
319
178
|
# See Encoding::default_internal for information on how the default internal
|
320
179
|
# encoding is used.
|
321
180
|
#
|
322
|
-
def self.default_internal=: (
|
323
|
-
| (
|
324
|
-
| (nil
|
181
|
+
def self.default_internal=: (Encoding enc) -> Encoding
|
182
|
+
| [T < _ToStr] (T enc) -> T
|
183
|
+
| (nil) -> nil
|
325
184
|
|
326
185
|
# <!--
|
327
186
|
# rdoc-file=encoding.c
|
@@ -336,10 +195,13 @@ class Encoding < Object
|
|
336
195
|
#
|
337
196
|
# "external"
|
338
197
|
# : default external encoding
|
198
|
+
#
|
339
199
|
# "internal"
|
340
200
|
# : default internal encoding
|
201
|
+
#
|
341
202
|
# "locale"
|
342
203
|
# : locale encoding
|
204
|
+
#
|
343
205
|
# "filesystem"
|
344
206
|
# : filesystem encoding
|
345
207
|
#
|
@@ -348,7 +210,7 @@ class Encoding < Object
|
|
348
210
|
# `Encoding.find("internal")` however returns nil when no encoding named
|
349
211
|
# "internal", in other words, when Ruby has no default internal encoding.
|
350
212
|
#
|
351
|
-
def self.find: (
|
213
|
+
def self.find: (encoding enc) -> Encoding?
|
352
214
|
|
353
215
|
# <!--
|
354
216
|
# rdoc-file=encoding.c
|
@@ -367,7 +229,7 @@ class Encoding < Object
|
|
367
229
|
# #=> [#<Encoding:ASCII-8BIT>, #<Encoding:UTF-8>,
|
368
230
|
# #<Encoding:US-ASCII>, #<Encoding:ISO-2022-JP (dummy)>]
|
369
231
|
#
|
370
|
-
def self.list: () ->
|
232
|
+
def self.list: () -> Array[Encoding]
|
371
233
|
|
372
234
|
# <!--
|
373
235
|
# rdoc-file=encoding.c
|
@@ -381,7 +243,7 @@ class Encoding < Object
|
|
381
243
|
# "Windows-31J",
|
382
244
|
# "BINARY", "CP932", "eucJP"]
|
383
245
|
#
|
384
|
-
def self.name_list: () ->
|
246
|
+
def self.name_list: () -> Array[String]
|
385
247
|
|
386
248
|
# <!--
|
387
249
|
# rdoc-file=encoding.c
|
@@ -433,17 +295,7 @@ class Encoding < Object
|
|
433
295
|
#
|
434
296
|
# Encoding::WINDOWS_31J.names #=> ["Windows-31J", "CP932", "csWindows31J", "SJIS", "PCK"]
|
435
297
|
#
|
436
|
-
def names: () ->
|
437
|
-
|
438
|
-
# <!--
|
439
|
-
# rdoc-file=encoding.c
|
440
|
-
# - enc.replicate(name) -> encoding
|
441
|
-
# -->
|
442
|
-
# Returns a replicated encoding of *enc* whose name is *name*. The new encoding
|
443
|
-
# should have the same byte structure of *enc*. If *name* is used by another
|
444
|
-
# encoding, raise ArgumentError.
|
445
|
-
#
|
446
|
-
def replicate: (String name) -> Encoding
|
298
|
+
def names: () -> Array[String]
|
447
299
|
|
448
300
|
# <!--
|
449
301
|
# rdoc-file=encoding.c
|
@@ -454,427 +306,405 @@ class Encoding < Object
|
|
454
306
|
#
|
455
307
|
# Encoding::UTF_8.name #=> "UTF-8"
|
456
308
|
#
|
457
|
-
|
309
|
+
alias to_s name
|
310
|
+
|
311
|
+
ANSI_X3_4_1968: Encoding
|
312
|
+
ASCII: Encoding
|
313
|
+
ASCII_8BIT: Encoding
|
314
|
+
BIG5: Encoding
|
315
|
+
BIG5_HKSCS: Encoding
|
316
|
+
BIG5_HKSCS_2008: Encoding
|
317
|
+
BIG5_UAO: Encoding
|
318
|
+
BINARY: Encoding
|
319
|
+
Big5: Encoding
|
320
|
+
Big5_HKSCS: Encoding
|
321
|
+
Big5_HKSCS_2008: Encoding
|
322
|
+
Big5_UAO: Encoding
|
323
|
+
CESU_8: Encoding
|
324
|
+
CP1250: Encoding
|
325
|
+
CP1251: Encoding
|
326
|
+
CP1252: Encoding
|
327
|
+
CP1253: Encoding
|
328
|
+
CP1254: Encoding
|
329
|
+
CP1255: Encoding
|
330
|
+
CP1256: Encoding
|
331
|
+
CP1257: Encoding
|
332
|
+
CP1258: Encoding
|
333
|
+
CP437: Encoding
|
334
|
+
CP50220: Encoding
|
335
|
+
CP50221: Encoding
|
336
|
+
CP51932: Encoding
|
337
|
+
CP65000: Encoding
|
338
|
+
CP65001: Encoding
|
339
|
+
CP737: Encoding
|
340
|
+
CP775: Encoding
|
341
|
+
CP850: Encoding
|
342
|
+
CP852: Encoding
|
343
|
+
CP855: Encoding
|
344
|
+
CP857: Encoding
|
345
|
+
CP860: Encoding
|
346
|
+
CP861: Encoding
|
347
|
+
CP862: Encoding
|
348
|
+
CP863: Encoding
|
349
|
+
CP864: Encoding
|
350
|
+
CP865: Encoding
|
351
|
+
CP866: Encoding
|
352
|
+
CP869: Encoding
|
353
|
+
CP874: Encoding
|
354
|
+
CP878: Encoding
|
355
|
+
CP932: Encoding
|
356
|
+
CP936: Encoding
|
357
|
+
CP949: Encoding
|
358
|
+
CP950: Encoding
|
359
|
+
CP951: Encoding
|
360
|
+
CSWINDOWS31J: Encoding
|
361
|
+
CsWindows31J: Encoding
|
362
|
+
EBCDIC_CP_US: Encoding
|
363
|
+
EMACS_MULE: Encoding
|
364
|
+
EUCCN: Encoding
|
365
|
+
EUCJP: Encoding
|
366
|
+
EUCJP_MS: Encoding
|
367
|
+
EUCKR: Encoding
|
368
|
+
EUCTW: Encoding
|
369
|
+
EUC_CN: Encoding
|
370
|
+
EUC_JISX0213: Encoding
|
371
|
+
EUC_JIS_2004: Encoding
|
372
|
+
EUC_JP: Encoding
|
373
|
+
EUC_JP_MS: Encoding
|
374
|
+
EUC_KR: Encoding
|
375
|
+
EUC_TW: Encoding
|
376
|
+
Emacs_Mule: Encoding
|
377
|
+
EucCN: Encoding
|
378
|
+
EucJP: Encoding
|
379
|
+
EucJP_ms: Encoding
|
380
|
+
EucKR: Encoding
|
381
|
+
EucTW: Encoding
|
382
|
+
GB12345: Encoding
|
383
|
+
GB18030: Encoding
|
384
|
+
GB1988: Encoding
|
385
|
+
GB2312: Encoding
|
386
|
+
GBK: Encoding
|
387
|
+
IBM037: Encoding
|
388
|
+
IBM437: Encoding
|
389
|
+
IBM737: Encoding
|
390
|
+
IBM720: Encoding
|
391
|
+
CP720: Encoding
|
392
|
+
IBM775: Encoding
|
393
|
+
IBM850: Encoding
|
394
|
+
IBM852: Encoding
|
395
|
+
IBM855: Encoding
|
396
|
+
IBM857: Encoding
|
397
|
+
IBM860: Encoding
|
398
|
+
IBM861: Encoding
|
399
|
+
IBM862: Encoding
|
400
|
+
IBM863: Encoding
|
401
|
+
IBM864: Encoding
|
402
|
+
IBM865: Encoding
|
403
|
+
IBM866: Encoding
|
404
|
+
IBM869: Encoding
|
405
|
+
ISO2022_JP: Encoding
|
406
|
+
ISO2022_JP2: Encoding
|
407
|
+
ISO8859_1: Encoding
|
408
|
+
ISO8859_10: Encoding
|
409
|
+
ISO8859_11: Encoding
|
410
|
+
ISO8859_13: Encoding
|
411
|
+
ISO8859_14: Encoding
|
412
|
+
ISO8859_15: Encoding
|
413
|
+
ISO8859_16: Encoding
|
414
|
+
ISO8859_2: Encoding
|
415
|
+
ISO8859_3: Encoding
|
416
|
+
ISO8859_4: Encoding
|
417
|
+
ISO8859_5: Encoding
|
418
|
+
ISO8859_6: Encoding
|
419
|
+
ISO8859_7: Encoding
|
420
|
+
ISO8859_8: Encoding
|
421
|
+
ISO8859_9: Encoding
|
422
|
+
ISO_2022_JP: Encoding
|
423
|
+
ISO_2022_JP_2: Encoding
|
424
|
+
ISO_2022_JP_KDDI: Encoding
|
425
|
+
ISO_8859_1: Encoding
|
426
|
+
ISO_8859_10: Encoding
|
427
|
+
ISO_8859_11: Encoding
|
428
|
+
ISO_8859_13: Encoding
|
429
|
+
ISO_8859_14: Encoding
|
430
|
+
ISO_8859_15: Encoding
|
431
|
+
ISO_8859_16: Encoding
|
432
|
+
ISO_8859_2: Encoding
|
433
|
+
ISO_8859_3: Encoding
|
434
|
+
ISO_8859_4: Encoding
|
435
|
+
ISO_8859_5: Encoding
|
436
|
+
ISO_8859_6: Encoding
|
437
|
+
ISO_8859_7: Encoding
|
438
|
+
ISO_8859_8: Encoding
|
439
|
+
ISO_8859_9: Encoding
|
440
|
+
KOI8_R: Encoding
|
441
|
+
KOI8_U: Encoding
|
442
|
+
MACCENTEURO: Encoding
|
443
|
+
MACCROATIAN: Encoding
|
444
|
+
MACCYRILLIC: Encoding
|
445
|
+
MACGREEK: Encoding
|
446
|
+
MACICELAND: Encoding
|
447
|
+
MACJAPAN: Encoding
|
448
|
+
MACJAPANESE: Encoding
|
449
|
+
MACROMAN: Encoding
|
450
|
+
MACROMANIA: Encoding
|
451
|
+
MACTHAI: Encoding
|
452
|
+
MACTURKISH: Encoding
|
453
|
+
MACUKRAINE: Encoding
|
454
|
+
MacCentEuro: Encoding
|
455
|
+
MacCroatian: Encoding
|
456
|
+
MacCyrillic: Encoding
|
457
|
+
MacGreek: Encoding
|
458
|
+
MacIceland: Encoding
|
459
|
+
MacJapan: Encoding
|
460
|
+
MacJapanese: Encoding
|
461
|
+
MacRoman: Encoding
|
462
|
+
MacRomania: Encoding
|
463
|
+
MacThai: Encoding
|
464
|
+
MacTurkish: Encoding
|
465
|
+
MacUkraine: Encoding
|
466
|
+
PCK: Encoding
|
467
|
+
SHIFT_JIS: Encoding
|
468
|
+
SJIS: Encoding
|
469
|
+
SJIS_DOCOMO: Encoding
|
470
|
+
SJIS_DoCoMo: Encoding
|
471
|
+
SJIS_KDDI: Encoding
|
472
|
+
SJIS_SOFTBANK: Encoding
|
473
|
+
SJIS_SoftBank: Encoding
|
474
|
+
STATELESS_ISO_2022_JP: Encoding
|
475
|
+
STATELESS_ISO_2022_JP_KDDI: Encoding
|
476
|
+
Shift_JIS: Encoding
|
477
|
+
Stateless_ISO_2022_JP: Encoding
|
478
|
+
Stateless_ISO_2022_JP_KDDI: Encoding
|
479
|
+
TIS_620: Encoding
|
480
|
+
UCS_2BE: Encoding
|
481
|
+
UCS_4BE: Encoding
|
482
|
+
UCS_4LE: Encoding
|
483
|
+
US_ASCII: Encoding
|
484
|
+
UTF8_DOCOMO: Encoding
|
485
|
+
UTF8_DoCoMo: Encoding
|
486
|
+
UTF8_KDDI: Encoding
|
487
|
+
UTF8_MAC: Encoding
|
488
|
+
UTF8_SOFTBANK: Encoding
|
489
|
+
UTF8_SoftBank: Encoding
|
490
|
+
UTF_16: Encoding
|
491
|
+
UTF_16BE: Encoding
|
492
|
+
UTF_16LE: Encoding
|
493
|
+
UTF_32: Encoding
|
494
|
+
UTF_32BE: Encoding
|
495
|
+
UTF_32LE: Encoding
|
496
|
+
UTF_7: Encoding
|
497
|
+
UTF_8: Encoding
|
498
|
+
UTF_8_HFS: Encoding
|
499
|
+
UTF_8_MAC: Encoding
|
500
|
+
WINDOWS_1250: Encoding
|
501
|
+
WINDOWS_1251: Encoding
|
502
|
+
WINDOWS_1252: Encoding
|
503
|
+
WINDOWS_1253: Encoding
|
504
|
+
WINDOWS_1254: Encoding
|
505
|
+
WINDOWS_1255: Encoding
|
506
|
+
WINDOWS_1256: Encoding
|
507
|
+
WINDOWS_1257: Encoding
|
508
|
+
WINDOWS_1258: Encoding
|
509
|
+
WINDOWS_31J: Encoding
|
510
|
+
WINDOWS_874: Encoding
|
511
|
+
Windows_1250: Encoding
|
512
|
+
Windows_1251: Encoding
|
513
|
+
Windows_1252: Encoding
|
514
|
+
Windows_1253: Encoding
|
515
|
+
Windows_1254: Encoding
|
516
|
+
Windows_1255: Encoding
|
517
|
+
Windows_1256: Encoding
|
518
|
+
Windows_1257: Encoding
|
519
|
+
Windows_1258: Encoding
|
520
|
+
Windows_31J: Encoding
|
521
|
+
Windows_874: Encoding
|
522
|
+
|
523
|
+
# <!-- rdoc-file=error.c -->
|
524
|
+
# Raised by Encoding and String methods when the source encoding is incompatible
|
525
|
+
# with the target encoding.
|
526
|
+
#
|
527
|
+
class CompatibilityError < EncodingError
|
528
|
+
end
|
529
|
+
|
530
|
+
# <!-- rdoc-file=transcode.c -->
|
531
|
+
# Raised by transcoding methods when a named encoding does not correspond with a
|
532
|
+
# known converter.
|
533
|
+
#
|
534
|
+
class ConverterNotFoundError < EncodingError
|
535
|
+
end
|
536
|
+
|
537
|
+
# <!-- rdoc-file=transcode.c -->
|
538
|
+
# Raised by Encoding and String methods when the string being transcoded
|
539
|
+
# contains a byte invalid for the either the source or target encoding.
|
540
|
+
#
|
541
|
+
class InvalidByteSequenceError < EncodingError
|
542
|
+
# <!--
|
543
|
+
# rdoc-file=transcode.c
|
544
|
+
# - ecerr.destination_encoding -> string
|
545
|
+
# -->
|
546
|
+
# Returns the destination encoding as an encoding object.
|
547
|
+
#
|
548
|
+
def destination_encoding: () -> Encoding
|
549
|
+
|
550
|
+
# <!--
|
551
|
+
# rdoc-file=transcode.c
|
552
|
+
# - ecerr.destination_encoding_name -> string
|
553
|
+
# -->
|
554
|
+
# Returns the destination encoding name as a string.
|
555
|
+
#
|
556
|
+
def destination_encoding_name: () -> String
|
557
|
+
|
558
|
+
# <!--
|
559
|
+
# rdoc-file=transcode.c
|
560
|
+
# - ecerr.error_bytes -> string
|
561
|
+
# -->
|
562
|
+
# Returns the discarded bytes when Encoding::InvalidByteSequenceError occurs.
|
563
|
+
#
|
564
|
+
# ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
|
565
|
+
# begin
|
566
|
+
# ec.convert("abc\xA1\xFFdef")
|
567
|
+
# rescue Encoding::InvalidByteSequenceError
|
568
|
+
# p $! #=> #<Encoding::InvalidByteSequenceError: "\xA1" followed by "\xFF" on EUC-JP>
|
569
|
+
# puts $!.error_bytes.dump #=> "\xA1"
|
570
|
+
# puts $!.readagain_bytes.dump #=> "\xFF"
|
571
|
+
# end
|
572
|
+
#
|
573
|
+
def error_bytes: () -> String
|
574
|
+
|
575
|
+
# <!--
|
576
|
+
# rdoc-file=transcode.c
|
577
|
+
# - ecerr.incomplete_input? -> true or false
|
578
|
+
# -->
|
579
|
+
# Returns true if the invalid byte sequence error is caused by premature end of
|
580
|
+
# string.
|
581
|
+
#
|
582
|
+
# ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
|
583
|
+
#
|
584
|
+
# begin
|
585
|
+
# ec.convert("abc\xA1z")
|
586
|
+
# rescue Encoding::InvalidByteSequenceError
|
587
|
+
# p $! #=> #<Encoding::InvalidByteSequenceError: "\xA1" followed by "z" on EUC-JP>
|
588
|
+
# p $!.incomplete_input? #=> false
|
589
|
+
# end
|
590
|
+
#
|
591
|
+
# begin
|
592
|
+
# ec.convert("abc\xA1")
|
593
|
+
# ec.finish
|
594
|
+
# rescue Encoding::InvalidByteSequenceError
|
595
|
+
# p $! #=> #<Encoding::InvalidByteSequenceError: incomplete "\xA1" on EUC-JP>
|
596
|
+
# p $!.incomplete_input? #=> true
|
597
|
+
# end
|
598
|
+
#
|
599
|
+
def incomplete_input?: () -> bool
|
600
|
+
|
601
|
+
# <!--
|
602
|
+
# rdoc-file=transcode.c
|
603
|
+
# - ecerr.readagain_bytes -> string
|
604
|
+
# -->
|
605
|
+
# Returns the bytes to be read again when Encoding::InvalidByteSequenceError
|
606
|
+
# occurs.
|
607
|
+
#
|
608
|
+
def readagain_bytes: () -> String
|
609
|
+
|
610
|
+
# <!--
|
611
|
+
# rdoc-file=transcode.c
|
612
|
+
# - ecerr.source_encoding -> encoding
|
613
|
+
# -->
|
614
|
+
# Returns the source encoding as an encoding object.
|
615
|
+
#
|
616
|
+
# Note that the result may not be equal to the source encoding of the encoding
|
617
|
+
# converter if the conversion has multiple steps.
|
618
|
+
#
|
619
|
+
# ec = Encoding::Converter.new("ISO-8859-1", "EUC-JP") # ISO-8859-1 -> UTF-8 -> EUC-JP
|
620
|
+
# begin
|
621
|
+
# ec.convert("\xa0") # NO-BREAK SPACE, which is available in UTF-8 but not in EUC-JP.
|
622
|
+
# rescue Encoding::UndefinedConversionError
|
623
|
+
# p $!.source_encoding #=> #<Encoding:UTF-8>
|
624
|
+
# p $!.destination_encoding #=> #<Encoding:EUC-JP>
|
625
|
+
# p $!.source_encoding_name #=> "UTF-8"
|
626
|
+
# p $!.destination_encoding_name #=> "EUC-JP"
|
627
|
+
# end
|
628
|
+
#
|
629
|
+
def source_encoding: () -> Encoding
|
630
|
+
|
631
|
+
# <!--
|
632
|
+
# rdoc-file=transcode.c
|
633
|
+
# - ecerr.source_encoding_name -> string
|
634
|
+
# -->
|
635
|
+
# Returns the source encoding name as a string.
|
636
|
+
#
|
637
|
+
def source_encoding_name: () -> String
|
638
|
+
end
|
639
|
+
|
640
|
+
# <!-- rdoc-file=transcode.c -->
|
641
|
+
# Raised by Encoding and String methods when a transcoding operation fails.
|
642
|
+
#
|
643
|
+
class UndefinedConversionError < EncodingError
|
644
|
+
# <!--
|
645
|
+
# rdoc-file=transcode.c
|
646
|
+
# - ecerr.destination_encoding -> string
|
647
|
+
# -->
|
648
|
+
# Returns the destination encoding as an encoding object.
|
649
|
+
#
|
650
|
+
def destination_encoding: () -> Encoding
|
651
|
+
|
652
|
+
# <!--
|
653
|
+
# rdoc-file=transcode.c
|
654
|
+
# - ecerr.destination_encoding_name -> string
|
655
|
+
# -->
|
656
|
+
# Returns the destination encoding name as a string.
|
657
|
+
#
|
658
|
+
def destination_encoding_name: () -> String
|
659
|
+
|
660
|
+
# <!--
|
661
|
+
# rdoc-file=transcode.c
|
662
|
+
# - ecerr.error_char -> string
|
663
|
+
# -->
|
664
|
+
# Returns the one-character string which cause
|
665
|
+
# Encoding::UndefinedConversionError.
|
666
|
+
#
|
667
|
+
# ec = Encoding::Converter.new("ISO-8859-1", "EUC-JP")
|
668
|
+
# begin
|
669
|
+
# ec.convert("\xa0")
|
670
|
+
# rescue Encoding::UndefinedConversionError
|
671
|
+
# puts $!.error_char.dump #=> "\xC2\xA0"
|
672
|
+
# p $!.error_char.encoding #=> #<Encoding:UTF-8>
|
673
|
+
# end
|
674
|
+
#
|
675
|
+
def error_char: () -> String
|
676
|
+
|
677
|
+
# <!--
|
678
|
+
# rdoc-file=transcode.c
|
679
|
+
# - ecerr.source_encoding -> encoding
|
680
|
+
# -->
|
681
|
+
# Returns the source encoding as an encoding object.
|
682
|
+
#
|
683
|
+
# Note that the result may not be equal to the source encoding of the encoding
|
684
|
+
# converter if the conversion has multiple steps.
|
685
|
+
#
|
686
|
+
# ec = Encoding::Converter.new("ISO-8859-1", "EUC-JP") # ISO-8859-1 -> UTF-8 -> EUC-JP
|
687
|
+
# begin
|
688
|
+
# ec.convert("\xa0") # NO-BREAK SPACE, which is available in UTF-8 but not in EUC-JP.
|
689
|
+
# rescue Encoding::UndefinedConversionError
|
690
|
+
# p $!.source_encoding #=> #<Encoding:UTF-8>
|
691
|
+
# p $!.destination_encoding #=> #<Encoding:EUC-JP>
|
692
|
+
# p $!.source_encoding_name #=> "UTF-8"
|
693
|
+
# p $!.destination_encoding_name #=> "EUC-JP"
|
694
|
+
# end
|
695
|
+
#
|
696
|
+
def source_encoding: () -> Encoding
|
697
|
+
|
698
|
+
# <!--
|
699
|
+
# rdoc-file=transcode.c
|
700
|
+
# - ecerr.source_encoding_name -> string
|
701
|
+
# -->
|
702
|
+
# Returns the source encoding name as a string.
|
703
|
+
#
|
704
|
+
def source_encoding_name: () -> String
|
705
|
+
end
|
458
706
|
end
|
459
707
|
|
460
|
-
Encoding::ANSI_X3_4_1968: Encoding
|
461
|
-
|
462
|
-
Encoding::ASCII: Encoding
|
463
|
-
|
464
|
-
Encoding::ASCII_8BIT: Encoding
|
465
|
-
|
466
|
-
Encoding::BIG5: Encoding
|
467
|
-
|
468
|
-
Encoding::BIG5_HKSCS: Encoding
|
469
|
-
|
470
|
-
Encoding::BIG5_HKSCS_2008: Encoding
|
471
|
-
|
472
|
-
Encoding::BIG5_UAO: Encoding
|
473
|
-
|
474
|
-
Encoding::BINARY: Encoding
|
475
|
-
|
476
|
-
Encoding::Big5: Encoding
|
477
|
-
|
478
|
-
Encoding::Big5_HKSCS: Encoding
|
479
|
-
|
480
|
-
Encoding::Big5_HKSCS_2008: Encoding
|
481
|
-
|
482
|
-
Encoding::Big5_UAO: Encoding
|
483
|
-
|
484
|
-
Encoding::CESU_8: Encoding
|
485
|
-
|
486
|
-
Encoding::CP1250: Encoding
|
487
|
-
|
488
|
-
Encoding::CP1251: Encoding
|
489
|
-
|
490
|
-
Encoding::CP1252: Encoding
|
491
|
-
|
492
|
-
Encoding::CP1253: Encoding
|
493
|
-
|
494
|
-
Encoding::CP1254: Encoding
|
495
|
-
|
496
|
-
Encoding::CP1255: Encoding
|
497
|
-
|
498
|
-
Encoding::CP1256: Encoding
|
499
|
-
|
500
|
-
Encoding::CP1257: Encoding
|
501
|
-
|
502
|
-
Encoding::CP1258: Encoding
|
503
|
-
|
504
|
-
Encoding::CP437: Encoding
|
505
|
-
|
506
|
-
Encoding::CP50220: Encoding
|
507
|
-
|
508
|
-
Encoding::CP50221: Encoding
|
509
|
-
|
510
|
-
Encoding::CP51932: Encoding
|
511
|
-
|
512
|
-
Encoding::CP65000: Encoding
|
513
|
-
|
514
|
-
Encoding::CP65001: Encoding
|
515
|
-
|
516
|
-
Encoding::CP737: Encoding
|
517
|
-
|
518
|
-
Encoding::CP775: Encoding
|
519
|
-
|
520
|
-
Encoding::CP850: Encoding
|
521
|
-
|
522
|
-
Encoding::CP852: Encoding
|
523
|
-
|
524
|
-
Encoding::CP855: Encoding
|
525
|
-
|
526
|
-
Encoding::CP857: Encoding
|
527
|
-
|
528
|
-
Encoding::CP860: Encoding
|
529
|
-
|
530
|
-
Encoding::CP861: Encoding
|
531
|
-
|
532
|
-
Encoding::CP862: Encoding
|
533
|
-
|
534
|
-
Encoding::CP863: Encoding
|
535
|
-
|
536
|
-
Encoding::CP864: Encoding
|
537
|
-
|
538
|
-
Encoding::CP865: Encoding
|
539
|
-
|
540
|
-
Encoding::CP866: Encoding
|
541
|
-
|
542
|
-
Encoding::CP869: Encoding
|
543
|
-
|
544
|
-
Encoding::CP874: Encoding
|
545
|
-
|
546
|
-
Encoding::CP878: Encoding
|
547
|
-
|
548
|
-
Encoding::CP932: Encoding
|
549
|
-
|
550
|
-
Encoding::CP936: Encoding
|
551
|
-
|
552
|
-
Encoding::CP949: Encoding
|
553
|
-
|
554
|
-
Encoding::CP950: Encoding
|
555
|
-
|
556
|
-
Encoding::CP951: Encoding
|
557
|
-
|
558
|
-
Encoding::CSWINDOWS31J: Encoding
|
559
|
-
|
560
|
-
Encoding::CsWindows31J: Encoding
|
561
|
-
|
562
|
-
Encoding::EBCDIC_CP_US: Encoding
|
563
|
-
|
564
|
-
Encoding::EMACS_MULE: Encoding
|
565
|
-
|
566
|
-
Encoding::EUCCN: Encoding
|
567
|
-
|
568
|
-
Encoding::EUCJP: Encoding
|
569
|
-
|
570
|
-
Encoding::EUCJP_MS: Encoding
|
571
|
-
|
572
|
-
Encoding::EUCKR: Encoding
|
573
|
-
|
574
|
-
Encoding::EUCTW: Encoding
|
575
|
-
|
576
|
-
Encoding::EUC_CN: Encoding
|
577
|
-
|
578
|
-
Encoding::EUC_JISX0213: Encoding
|
579
|
-
|
580
|
-
Encoding::EUC_JIS_2004: Encoding
|
581
|
-
|
582
|
-
Encoding::EUC_JP: Encoding
|
583
|
-
|
584
|
-
Encoding::EUC_JP_MS: Encoding
|
585
|
-
|
586
|
-
Encoding::EUC_KR: Encoding
|
587
|
-
|
588
|
-
Encoding::EUC_TW: Encoding
|
589
|
-
|
590
|
-
Encoding::Emacs_Mule: Encoding
|
591
|
-
|
592
|
-
Encoding::EucCN: Encoding
|
593
|
-
|
594
|
-
Encoding::EucJP: Encoding
|
595
|
-
|
596
|
-
Encoding::EucJP_ms: Encoding
|
597
|
-
|
598
|
-
Encoding::EucKR: Encoding
|
599
|
-
|
600
|
-
Encoding::EucTW: Encoding
|
601
|
-
|
602
|
-
Encoding::GB12345: Encoding
|
603
|
-
|
604
|
-
Encoding::GB18030: Encoding
|
605
|
-
|
606
|
-
Encoding::GB1988: Encoding
|
607
|
-
|
608
|
-
Encoding::GB2312: Encoding
|
609
|
-
|
610
|
-
Encoding::GBK: Encoding
|
611
|
-
|
612
|
-
Encoding::IBM037: Encoding
|
613
|
-
|
614
|
-
Encoding::IBM437: Encoding
|
615
|
-
|
616
|
-
Encoding::IBM737: Encoding
|
617
|
-
|
618
|
-
Encoding::IBM775: Encoding
|
619
|
-
|
620
|
-
Encoding::IBM850: Encoding
|
621
|
-
|
622
|
-
Encoding::IBM852: Encoding
|
623
|
-
|
624
|
-
Encoding::IBM855: Encoding
|
625
|
-
|
626
|
-
Encoding::IBM857: Encoding
|
627
|
-
|
628
|
-
Encoding::IBM860: Encoding
|
629
|
-
|
630
|
-
Encoding::IBM861: Encoding
|
631
|
-
|
632
|
-
Encoding::IBM862: Encoding
|
633
|
-
|
634
|
-
Encoding::IBM863: Encoding
|
635
|
-
|
636
|
-
Encoding::IBM864: Encoding
|
637
|
-
|
638
|
-
Encoding::IBM865: Encoding
|
639
|
-
|
640
|
-
Encoding::IBM866: Encoding
|
641
|
-
|
642
|
-
Encoding::IBM869: Encoding
|
643
|
-
|
644
|
-
Encoding::ISO2022_JP: Encoding
|
645
|
-
|
646
|
-
Encoding::ISO2022_JP2: Encoding
|
647
|
-
|
648
|
-
Encoding::ISO8859_1: Encoding
|
649
|
-
|
650
|
-
Encoding::ISO8859_10: Encoding
|
651
|
-
|
652
|
-
Encoding::ISO8859_11: Encoding
|
653
|
-
|
654
|
-
Encoding::ISO8859_13: Encoding
|
655
|
-
|
656
|
-
Encoding::ISO8859_14: Encoding
|
657
|
-
|
658
|
-
Encoding::ISO8859_15: Encoding
|
659
|
-
|
660
|
-
Encoding::ISO8859_16: Encoding
|
661
|
-
|
662
|
-
Encoding::ISO8859_2: Encoding
|
663
|
-
|
664
|
-
Encoding::ISO8859_3: Encoding
|
665
|
-
|
666
|
-
Encoding::ISO8859_4: Encoding
|
667
|
-
|
668
|
-
Encoding::ISO8859_5: Encoding
|
669
|
-
|
670
|
-
Encoding::ISO8859_6: Encoding
|
671
|
-
|
672
|
-
Encoding::ISO8859_7: Encoding
|
673
|
-
|
674
|
-
Encoding::ISO8859_8: Encoding
|
675
|
-
|
676
|
-
Encoding::ISO8859_9: Encoding
|
677
|
-
|
678
|
-
Encoding::ISO_2022_JP: Encoding
|
679
|
-
|
680
|
-
Encoding::ISO_2022_JP_2: Encoding
|
681
|
-
|
682
|
-
Encoding::ISO_2022_JP_KDDI: Encoding
|
683
|
-
|
684
|
-
Encoding::ISO_8859_1: Encoding
|
685
|
-
|
686
|
-
Encoding::ISO_8859_10: Encoding
|
687
|
-
|
688
|
-
Encoding::ISO_8859_11: Encoding
|
689
|
-
|
690
|
-
Encoding::ISO_8859_13: Encoding
|
691
|
-
|
692
|
-
Encoding::ISO_8859_14: Encoding
|
693
|
-
|
694
|
-
Encoding::ISO_8859_15: Encoding
|
695
|
-
|
696
|
-
Encoding::ISO_8859_16: Encoding
|
697
|
-
|
698
|
-
Encoding::ISO_8859_2: Encoding
|
699
|
-
|
700
|
-
Encoding::ISO_8859_3: Encoding
|
701
|
-
|
702
|
-
Encoding::ISO_8859_4: Encoding
|
703
|
-
|
704
|
-
Encoding::ISO_8859_5: Encoding
|
705
|
-
|
706
|
-
Encoding::ISO_8859_6: Encoding
|
707
|
-
|
708
|
-
Encoding::ISO_8859_7: Encoding
|
709
|
-
|
710
|
-
Encoding::ISO_8859_8: Encoding
|
711
|
-
|
712
|
-
Encoding::ISO_8859_9: Encoding
|
713
|
-
|
714
|
-
Encoding::KOI8_R: Encoding
|
715
|
-
|
716
|
-
Encoding::KOI8_U: Encoding
|
717
|
-
|
718
|
-
Encoding::MACCENTEURO: Encoding
|
719
|
-
|
720
|
-
Encoding::MACCROATIAN: Encoding
|
721
|
-
|
722
|
-
Encoding::MACCYRILLIC: Encoding
|
723
|
-
|
724
|
-
Encoding::MACGREEK: Encoding
|
725
|
-
|
726
|
-
Encoding::MACICELAND: Encoding
|
727
|
-
|
728
|
-
Encoding::MACJAPAN: Encoding
|
729
|
-
|
730
|
-
Encoding::MACJAPANESE: Encoding
|
731
|
-
|
732
|
-
Encoding::MACROMAN: Encoding
|
733
|
-
|
734
|
-
Encoding::MACROMANIA: Encoding
|
735
|
-
|
736
|
-
Encoding::MACTHAI: Encoding
|
737
|
-
|
738
|
-
Encoding::MACTURKISH: Encoding
|
739
|
-
|
740
|
-
Encoding::MACUKRAINE: Encoding
|
741
|
-
|
742
|
-
Encoding::MacCentEuro: Encoding
|
743
|
-
|
744
|
-
Encoding::MacCroatian: Encoding
|
745
|
-
|
746
|
-
Encoding::MacCyrillic: Encoding
|
747
|
-
|
748
|
-
Encoding::MacGreek: Encoding
|
749
|
-
|
750
|
-
Encoding::MacIceland: Encoding
|
751
|
-
|
752
|
-
Encoding::MacJapan: Encoding
|
753
|
-
|
754
|
-
Encoding::MacJapanese: Encoding
|
755
|
-
|
756
|
-
Encoding::MacRoman: Encoding
|
757
|
-
|
758
|
-
Encoding::MacRomania: Encoding
|
759
|
-
|
760
|
-
Encoding::MacThai: Encoding
|
761
|
-
|
762
|
-
Encoding::MacTurkish: Encoding
|
763
|
-
|
764
|
-
Encoding::MacUkraine: Encoding
|
765
|
-
|
766
|
-
Encoding::PCK: Encoding
|
767
|
-
|
768
|
-
Encoding::SHIFT_JIS: Encoding
|
769
|
-
|
770
|
-
Encoding::SJIS: Encoding
|
771
|
-
|
772
|
-
Encoding::SJIS_DOCOMO: Encoding
|
773
|
-
|
774
|
-
Encoding::SJIS_DoCoMo: Encoding
|
775
|
-
|
776
|
-
Encoding::SJIS_KDDI: Encoding
|
777
|
-
|
778
|
-
Encoding::SJIS_SOFTBANK: Encoding
|
779
|
-
|
780
|
-
Encoding::SJIS_SoftBank: Encoding
|
781
|
-
|
782
|
-
Encoding::STATELESS_ISO_2022_JP: Encoding
|
783
|
-
|
784
|
-
Encoding::STATELESS_ISO_2022_JP_KDDI: Encoding
|
785
|
-
|
786
|
-
Encoding::Shift_JIS: Encoding
|
787
|
-
|
788
|
-
Encoding::Stateless_ISO_2022_JP: Encoding
|
789
|
-
|
790
|
-
Encoding::Stateless_ISO_2022_JP_KDDI: Encoding
|
791
|
-
|
792
|
-
Encoding::TIS_620: Encoding
|
793
|
-
|
794
|
-
Encoding::UCS_2BE: Encoding
|
795
|
-
|
796
|
-
Encoding::UCS_4BE: Encoding
|
797
|
-
|
798
|
-
Encoding::UCS_4LE: Encoding
|
799
|
-
|
800
|
-
Encoding::US_ASCII: Encoding
|
801
|
-
|
802
|
-
Encoding::UTF8_DOCOMO: Encoding
|
803
|
-
|
804
|
-
Encoding::UTF8_DoCoMo: Encoding
|
805
|
-
|
806
|
-
Encoding::UTF8_KDDI: Encoding
|
807
|
-
|
808
|
-
Encoding::UTF8_MAC: Encoding
|
809
|
-
|
810
|
-
Encoding::UTF8_SOFTBANK: Encoding
|
811
|
-
|
812
|
-
Encoding::UTF8_SoftBank: Encoding
|
813
|
-
|
814
|
-
Encoding::UTF_16: Encoding
|
815
|
-
|
816
|
-
Encoding::UTF_16BE: Encoding
|
817
|
-
|
818
|
-
Encoding::UTF_16LE: Encoding
|
819
|
-
|
820
|
-
Encoding::UTF_32: Encoding
|
821
|
-
|
822
|
-
Encoding::UTF_32BE: Encoding
|
823
|
-
|
824
|
-
Encoding::UTF_32LE: Encoding
|
825
|
-
|
826
|
-
Encoding::UTF_7: Encoding
|
827
|
-
|
828
|
-
Encoding::UTF_8: Encoding
|
829
|
-
|
830
|
-
Encoding::UTF_8_HFS: Encoding
|
831
|
-
|
832
|
-
Encoding::UTF_8_MAC: Encoding
|
833
|
-
|
834
|
-
Encoding::WINDOWS_1250: Encoding
|
835
|
-
|
836
|
-
Encoding::WINDOWS_1251: Encoding
|
837
|
-
|
838
|
-
Encoding::WINDOWS_1252: Encoding
|
839
|
-
|
840
|
-
Encoding::WINDOWS_1253: Encoding
|
841
|
-
|
842
|
-
Encoding::WINDOWS_1254: Encoding
|
843
|
-
|
844
|
-
Encoding::WINDOWS_1255: Encoding
|
845
|
-
|
846
|
-
Encoding::WINDOWS_1256: Encoding
|
847
|
-
|
848
|
-
Encoding::WINDOWS_1257: Encoding
|
849
|
-
|
850
|
-
Encoding::WINDOWS_1258: Encoding
|
851
|
-
|
852
|
-
Encoding::WINDOWS_31J: Encoding
|
853
|
-
|
854
|
-
Encoding::WINDOWS_874: Encoding
|
855
|
-
|
856
|
-
Encoding::Windows_1250: Encoding
|
857
|
-
|
858
|
-
Encoding::Windows_1251: Encoding
|
859
|
-
|
860
|
-
Encoding::Windows_1252: Encoding
|
861
|
-
|
862
|
-
Encoding::Windows_1253: Encoding
|
863
|
-
|
864
|
-
Encoding::Windows_1254: Encoding
|
865
|
-
|
866
|
-
Encoding::Windows_1255: Encoding
|
867
|
-
|
868
|
-
Encoding::Windows_1256: Encoding
|
869
|
-
|
870
|
-
Encoding::Windows_1257: Encoding
|
871
|
-
|
872
|
-
Encoding::Windows_1258: Encoding
|
873
|
-
|
874
|
-
Encoding::Windows_31J: Encoding
|
875
|
-
|
876
|
-
Encoding::Windows_874: Encoding
|
877
|
-
|
878
708
|
# <!-- rdoc-file=transcode.c -->
|
879
709
|
# Encoding conversion class.
|
880
710
|
#
|
@@ -950,8 +780,6 @@ class Encoding::Converter < Object
|
|
950
780
|
?xml: :text | :attr
|
951
781
|
) -> conversion_path
|
952
782
|
|
953
|
-
public
|
954
|
-
|
955
783
|
# <!--
|
956
784
|
# rdoc-file=transcode.c
|
957
785
|
# - ec == other -> true or false
|
@@ -1171,7 +999,6 @@ class Encoding::Converter < Object
|
|
1171
999
|
# :partial_input is specified.
|
1172
1000
|
# * conversion is finished (:finished)
|
1173
1001
|
#
|
1174
|
-
#
|
1175
1002
|
# example:
|
1176
1003
|
# ec = Encoding::Converter.new("UTF-8", "UTF-16BE")
|
1177
1004
|
# ret = ec.primitive_convert(src="pi", dst="", nil, 100)
|
@@ -1352,11 +1179,13 @@ class Encoding::Converter < Object
|
|
1352
1179
|
# :undef => :replace # replace undefined conversion
|
1353
1180
|
# :replace => string # replacement string ("?" or "\uFFFD" if not specified)
|
1354
1181
|
# :newline => :universal # decorator for converting CRLF and CR to LF
|
1182
|
+
# :newline => :lf # decorator for converting CRLF and CR to LF when writing
|
1355
1183
|
# :newline => :crlf # decorator for converting LF to CRLF
|
1356
1184
|
# :newline => :cr # decorator for converting LF to CR
|
1357
1185
|
# :universal_newline => true # decorator for converting CRLF and CR to LF
|
1358
1186
|
# :crlf_newline => true # decorator for converting LF to CRLF
|
1359
1187
|
# :cr_newline => true # decorator for converting LF to CR
|
1188
|
+
# :lf_newline => true # decorator for converting CRLF and CR to LF when writing
|
1360
1189
|
# :xml => :text # escape as XML CharData.
|
1361
1190
|
# :xml => :attr # escape as XML AttValue
|
1362
1191
|
# integer form:
|
@@ -1364,6 +1193,7 @@ class Encoding::Converter < Object
|
|
1364
1193
|
# Encoding::Converter::UNDEF_REPLACE
|
1365
1194
|
# Encoding::Converter::UNDEF_HEX_CHARREF
|
1366
1195
|
# Encoding::Converter::UNIVERSAL_NEWLINE_DECORATOR
|
1196
|
+
# Encoding::Converter::LF_NEWLINE_DECORATOR
|
1367
1197
|
# Encoding::Converter::CRLF_NEWLINE_DECORATOR
|
1368
1198
|
# Encoding::Converter::CR_NEWLINE_DECORATOR
|
1369
1199
|
# Encoding::Converter::XML_TEXT_DECORATOR
|
@@ -1381,7 +1211,6 @@ class Encoding::Converter < Object
|
|
1381
1211
|
# * two-element arrays which contain encodings or encoding names, or
|
1382
1212
|
# * strings representing decorator names.
|
1383
1213
|
#
|
1384
|
-
#
|
1385
1214
|
# Encoding::Converter.new optionally takes an option. The option should be a
|
1386
1215
|
# hash or an integer. The option hash can contain :invalid => nil, etc. The
|
1387
1216
|
# option integer should be logical-or of constants such as
|
@@ -1389,23 +1218,34 @@ class Encoding::Converter < Object
|
|
1389
1218
|
#
|
1390
1219
|
# :invalid => nil
|
1391
1220
|
# : Raise error on invalid byte sequence. This is a default behavior.
|
1221
|
+
#
|
1392
1222
|
# :invalid => :replace
|
1393
1223
|
# : Replace invalid byte sequence by replacement string.
|
1224
|
+
#
|
1394
1225
|
# :undef => nil
|
1395
1226
|
# : Raise an error if a character in source_encoding is not defined in
|
1396
1227
|
# destination_encoding. This is a default behavior.
|
1228
|
+
#
|
1397
1229
|
# :undef => :replace
|
1398
1230
|
# : Replace undefined character in destination_encoding with replacement
|
1399
1231
|
# string.
|
1232
|
+
#
|
1400
1233
|
# :replace => string
|
1401
1234
|
# : Specify the replacement string. If not specified, "uFFFD" is used for
|
1402
1235
|
# Unicode encodings and "?" for others.
|
1236
|
+
#
|
1403
1237
|
# :universal_newline => true
|
1404
1238
|
# : Convert CRLF and CR to LF.
|
1239
|
+
#
|
1405
1240
|
# :crlf_newline => true
|
1406
1241
|
# : Convert LF to CRLF.
|
1242
|
+
#
|
1407
1243
|
# :cr_newline => true
|
1408
1244
|
# : Convert LF to CR.
|
1245
|
+
#
|
1246
|
+
# :lf_newline => true
|
1247
|
+
# : Convert CRLF and CR to LF (when writing).
|
1248
|
+
#
|
1409
1249
|
# :xml => :text
|
1410
1250
|
# : Escape as XML CharData. This form can be used as an HTML 4.0 #PCDATA.
|
1411
1251
|
# * '&' -> '&'
|
@@ -1425,7 +1265,6 @@ class Encoding::Converter < Object
|
|
1425
1265
|
# such as &#xHH;
|
1426
1266
|
#
|
1427
1267
|
#
|
1428
|
-
#
|
1429
1268
|
# Examples:
|
1430
1269
|
# # UTF-16BE to UTF-8
|
1431
1270
|
# ec = Encoding::Converter.new("UTF-16BE", "UTF-8")
|
@@ -1463,284 +1302,70 @@ class Encoding::Converter < Object
|
|
1463
1302
|
end
|
1464
1303
|
|
1465
1304
|
# <!-- rdoc-file=transcode.c -->
|
1466
|
-
# AFTER_OUTPUT
|
1467
|
-
#
|
1468
1305
|
# Stop converting after some output is complete but before all of the input was
|
1469
1306
|
# consumed. See primitive_convert for an example.
|
1470
1307
|
#
|
1471
1308
|
Encoding::Converter::AFTER_OUTPUT: Integer
|
1472
1309
|
|
1473
1310
|
# <!-- rdoc-file=transcode.c -->
|
1474
|
-
# CRLF_NEWLINE_DECORATOR
|
1475
|
-
#
|
1476
1311
|
# Decorator for converting LF to CRLF
|
1477
1312
|
#
|
1478
1313
|
Encoding::Converter::CRLF_NEWLINE_DECORATOR: Integer
|
1479
1314
|
|
1480
1315
|
# <!-- rdoc-file=transcode.c -->
|
1481
|
-
# CR_NEWLINE_DECORATOR
|
1482
|
-
#
|
1483
1316
|
# Decorator for converting LF to CR
|
1484
1317
|
#
|
1485
1318
|
Encoding::Converter::CR_NEWLINE_DECORATOR: Integer
|
1486
1319
|
|
1487
1320
|
# <!-- rdoc-file=transcode.c -->
|
1488
|
-
# INVALID_MASK
|
1489
|
-
#
|
1490
1321
|
# Mask for invalid byte sequences
|
1491
1322
|
#
|
1492
1323
|
Encoding::Converter::INVALID_MASK: Integer
|
1493
1324
|
|
1494
1325
|
# <!-- rdoc-file=transcode.c -->
|
1495
|
-
# INVALID_REPLACE
|
1496
|
-
#
|
1497
1326
|
# Replace invalid byte sequences
|
1498
1327
|
#
|
1499
1328
|
Encoding::Converter::INVALID_REPLACE: Integer
|
1500
1329
|
|
1501
1330
|
# <!-- rdoc-file=transcode.c -->
|
1502
|
-
# PARTIAL_INPUT
|
1503
|
-
#
|
1504
1331
|
# Indicates the source may be part of a larger string. See primitive_convert
|
1505
1332
|
# for an example.
|
1506
1333
|
#
|
1507
1334
|
Encoding::Converter::PARTIAL_INPUT: Integer
|
1508
1335
|
|
1509
1336
|
# <!-- rdoc-file=transcode.c -->
|
1510
|
-
# UNDEF_HEX_CHARREF
|
1511
|
-
#
|
1512
1337
|
# Replace byte sequences that are undefined in the destination encoding with an
|
1513
1338
|
# XML hexadecimal character reference. This is valid for XML conversion.
|
1514
1339
|
#
|
1515
1340
|
Encoding::Converter::UNDEF_HEX_CHARREF: Integer
|
1516
1341
|
|
1517
1342
|
# <!-- rdoc-file=transcode.c -->
|
1518
|
-
# UNDEF_MASK
|
1519
|
-
#
|
1520
1343
|
# Mask for a valid character in the source encoding but no related character(s)
|
1521
1344
|
# in destination encoding.
|
1522
1345
|
#
|
1523
1346
|
Encoding::Converter::UNDEF_MASK: Integer
|
1524
1347
|
|
1525
1348
|
# <!-- rdoc-file=transcode.c -->
|
1526
|
-
# UNDEF_REPLACE
|
1527
|
-
#
|
1528
1349
|
# Replace byte sequences that are undefined in the destination encoding.
|
1529
1350
|
#
|
1530
1351
|
Encoding::Converter::UNDEF_REPLACE: Integer
|
1531
1352
|
|
1532
1353
|
# <!-- rdoc-file=transcode.c -->
|
1533
|
-
# UNIVERSAL_NEWLINE_DECORATOR
|
1534
|
-
#
|
1535
1354
|
# Decorator for converting CRLF and CR to LF
|
1536
1355
|
#
|
1537
1356
|
Encoding::Converter::UNIVERSAL_NEWLINE_DECORATOR: Integer
|
1538
1357
|
|
1539
1358
|
# <!-- rdoc-file=transcode.c -->
|
1540
|
-
# XML_ATTR_CONTENT_DECORATOR
|
1541
|
-
#
|
1542
1359
|
# Escape as XML AttValue
|
1543
1360
|
#
|
1544
1361
|
Encoding::Converter::XML_ATTR_CONTENT_DECORATOR: Integer
|
1545
1362
|
|
1546
1363
|
# <!-- rdoc-file=transcode.c -->
|
1547
|
-
# XML_ATTR_QUOTE_DECORATOR
|
1548
|
-
#
|
1549
1364
|
# Escape as XML AttValue
|
1550
1365
|
#
|
1551
1366
|
Encoding::Converter::XML_ATTR_QUOTE_DECORATOR: Integer
|
1552
1367
|
|
1553
1368
|
# <!-- rdoc-file=transcode.c -->
|
1554
|
-
# XML_TEXT_DECORATOR
|
1555
|
-
#
|
1556
1369
|
# Escape as XML CharData
|
1557
1370
|
#
|
1558
1371
|
Encoding::Converter::XML_TEXT_DECORATOR: Integer
|
1559
|
-
|
1560
|
-
# <!-- rdoc-file=error.c -->
|
1561
|
-
# Raised by Encoding and String methods when the source encoding is incompatible
|
1562
|
-
# with the target encoding.
|
1563
|
-
#
|
1564
|
-
class Encoding::CompatibilityError < EncodingError
|
1565
|
-
end
|
1566
|
-
|
1567
|
-
# <!-- rdoc-file=transcode.c -->
|
1568
|
-
# Raised by transcoding methods when a named encoding does not correspond with a
|
1569
|
-
# known converter.
|
1570
|
-
#
|
1571
|
-
class Encoding::ConverterNotFoundError < EncodingError
|
1572
|
-
end
|
1573
|
-
|
1574
|
-
# <!-- rdoc-file=transcode.c -->
|
1575
|
-
# Raised by Encoding and String methods when the string being transcoded
|
1576
|
-
# contains a byte invalid for the either the source or target encoding.
|
1577
|
-
#
|
1578
|
-
class Encoding::InvalidByteSequenceError < EncodingError
|
1579
|
-
public
|
1580
|
-
|
1581
|
-
# <!--
|
1582
|
-
# rdoc-file=transcode.c
|
1583
|
-
# - ecerr.destination_encoding -> string
|
1584
|
-
# -->
|
1585
|
-
# Returns the destination encoding as an encoding object.
|
1586
|
-
#
|
1587
|
-
def destination_encoding: () -> Encoding
|
1588
|
-
|
1589
|
-
# <!--
|
1590
|
-
# rdoc-file=transcode.c
|
1591
|
-
# - ecerr.destination_encoding_name -> string
|
1592
|
-
# -->
|
1593
|
-
# Returns the destination encoding name as a string.
|
1594
|
-
#
|
1595
|
-
def destination_encoding_name: () -> String
|
1596
|
-
|
1597
|
-
# <!--
|
1598
|
-
# rdoc-file=transcode.c
|
1599
|
-
# - ecerr.error_bytes -> string
|
1600
|
-
# -->
|
1601
|
-
# Returns the discarded bytes when Encoding::InvalidByteSequenceError occurs.
|
1602
|
-
#
|
1603
|
-
# ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
|
1604
|
-
# begin
|
1605
|
-
# ec.convert("abc\xA1\xFFdef")
|
1606
|
-
# rescue Encoding::InvalidByteSequenceError
|
1607
|
-
# p $! #=> #<Encoding::InvalidByteSequenceError: "\xA1" followed by "\xFF" on EUC-JP>
|
1608
|
-
# puts $!.error_bytes.dump #=> "\xA1"
|
1609
|
-
# puts $!.readagain_bytes.dump #=> "\xFF"
|
1610
|
-
# end
|
1611
|
-
#
|
1612
|
-
def error_bytes: () -> String
|
1613
|
-
|
1614
|
-
# <!--
|
1615
|
-
# rdoc-file=transcode.c
|
1616
|
-
# - ecerr.incomplete_input? -> true or false
|
1617
|
-
# -->
|
1618
|
-
# Returns true if the invalid byte sequence error is caused by premature end of
|
1619
|
-
# string.
|
1620
|
-
#
|
1621
|
-
# ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
|
1622
|
-
#
|
1623
|
-
# begin
|
1624
|
-
# ec.convert("abc\xA1z")
|
1625
|
-
# rescue Encoding::InvalidByteSequenceError
|
1626
|
-
# p $! #=> #<Encoding::InvalidByteSequenceError: "\xA1" followed by "z" on EUC-JP>
|
1627
|
-
# p $!.incomplete_input? #=> false
|
1628
|
-
# end
|
1629
|
-
#
|
1630
|
-
# begin
|
1631
|
-
# ec.convert("abc\xA1")
|
1632
|
-
# ec.finish
|
1633
|
-
# rescue Encoding::InvalidByteSequenceError
|
1634
|
-
# p $! #=> #<Encoding::InvalidByteSequenceError: incomplete "\xA1" on EUC-JP>
|
1635
|
-
# p $!.incomplete_input? #=> true
|
1636
|
-
# end
|
1637
|
-
#
|
1638
|
-
def incomplete_input?: () -> bool
|
1639
|
-
|
1640
|
-
# <!--
|
1641
|
-
# rdoc-file=transcode.c
|
1642
|
-
# - ecerr.readagain_bytes -> string
|
1643
|
-
# -->
|
1644
|
-
# Returns the bytes to be read again when Encoding::InvalidByteSequenceError
|
1645
|
-
# occurs.
|
1646
|
-
#
|
1647
|
-
def readagain_bytes: () -> String
|
1648
|
-
|
1649
|
-
# <!--
|
1650
|
-
# rdoc-file=transcode.c
|
1651
|
-
# - ecerr.source_encoding -> encoding
|
1652
|
-
# -->
|
1653
|
-
# Returns the source encoding as an encoding object.
|
1654
|
-
#
|
1655
|
-
# Note that the result may not be equal to the source encoding of the encoding
|
1656
|
-
# converter if the conversion has multiple steps.
|
1657
|
-
#
|
1658
|
-
# ec = Encoding::Converter.new("ISO-8859-1", "EUC-JP") # ISO-8859-1 -> UTF-8 -> EUC-JP
|
1659
|
-
# begin
|
1660
|
-
# ec.convert("\xa0") # NO-BREAK SPACE, which is available in UTF-8 but not in EUC-JP.
|
1661
|
-
# rescue Encoding::UndefinedConversionError
|
1662
|
-
# p $!.source_encoding #=> #<Encoding:UTF-8>
|
1663
|
-
# p $!.destination_encoding #=> #<Encoding:EUC-JP>
|
1664
|
-
# p $!.source_encoding_name #=> "UTF-8"
|
1665
|
-
# p $!.destination_encoding_name #=> "EUC-JP"
|
1666
|
-
# end
|
1667
|
-
#
|
1668
|
-
def source_encoding: () -> Encoding
|
1669
|
-
|
1670
|
-
# <!--
|
1671
|
-
# rdoc-file=transcode.c
|
1672
|
-
# - ecerr.source_encoding_name -> string
|
1673
|
-
# -->
|
1674
|
-
# Returns the source encoding name as a string.
|
1675
|
-
#
|
1676
|
-
def source_encoding_name: () -> String
|
1677
|
-
end
|
1678
|
-
|
1679
|
-
# <!-- rdoc-file=transcode.c -->
|
1680
|
-
# Raised by Encoding and String methods when a transcoding operation fails.
|
1681
|
-
#
|
1682
|
-
class Encoding::UndefinedConversionError < EncodingError
|
1683
|
-
public
|
1684
|
-
|
1685
|
-
# <!--
|
1686
|
-
# rdoc-file=transcode.c
|
1687
|
-
# - ecerr.destination_encoding -> string
|
1688
|
-
# -->
|
1689
|
-
# Returns the destination encoding as an encoding object.
|
1690
|
-
#
|
1691
|
-
def destination_encoding: () -> Encoding
|
1692
|
-
|
1693
|
-
# <!--
|
1694
|
-
# rdoc-file=transcode.c
|
1695
|
-
# - ecerr.destination_encoding_name -> string
|
1696
|
-
# -->
|
1697
|
-
# Returns the destination encoding name as a string.
|
1698
|
-
#
|
1699
|
-
def destination_encoding_name: () -> String
|
1700
|
-
|
1701
|
-
# <!--
|
1702
|
-
# rdoc-file=transcode.c
|
1703
|
-
# - ecerr.error_char -> string
|
1704
|
-
# -->
|
1705
|
-
# Returns the one-character string which cause
|
1706
|
-
# Encoding::UndefinedConversionError.
|
1707
|
-
#
|
1708
|
-
# ec = Encoding::Converter.new("ISO-8859-1", "EUC-JP")
|
1709
|
-
# begin
|
1710
|
-
# ec.convert("\xa0")
|
1711
|
-
# rescue Encoding::UndefinedConversionError
|
1712
|
-
# puts $!.error_char.dump #=> "\xC2\xA0"
|
1713
|
-
# p $!.error_char.encoding #=> #<Encoding:UTF-8>
|
1714
|
-
# end
|
1715
|
-
#
|
1716
|
-
def error_char: () -> String
|
1717
|
-
|
1718
|
-
# <!--
|
1719
|
-
# rdoc-file=transcode.c
|
1720
|
-
# - ecerr.source_encoding -> encoding
|
1721
|
-
# -->
|
1722
|
-
# Returns the source encoding as an encoding object.
|
1723
|
-
#
|
1724
|
-
# Note that the result may not be equal to the source encoding of the encoding
|
1725
|
-
# converter if the conversion has multiple steps.
|
1726
|
-
#
|
1727
|
-
# ec = Encoding::Converter.new("ISO-8859-1", "EUC-JP") # ISO-8859-1 -> UTF-8 -> EUC-JP
|
1728
|
-
# begin
|
1729
|
-
# ec.convert("\xa0") # NO-BREAK SPACE, which is available in UTF-8 but not in EUC-JP.
|
1730
|
-
# rescue Encoding::UndefinedConversionError
|
1731
|
-
# p $!.source_encoding #=> #<Encoding:UTF-8>
|
1732
|
-
# p $!.destination_encoding #=> #<Encoding:EUC-JP>
|
1733
|
-
# p $!.source_encoding_name #=> "UTF-8"
|
1734
|
-
# p $!.destination_encoding_name #=> "EUC-JP"
|
1735
|
-
# end
|
1736
|
-
#
|
1737
|
-
def source_encoding: () -> Encoding
|
1738
|
-
|
1739
|
-
# <!--
|
1740
|
-
# rdoc-file=transcode.c
|
1741
|
-
# - ecerr.source_encoding_name -> string
|
1742
|
-
# -->
|
1743
|
-
# Returns the source encoding name as a string.
|
1744
|
-
#
|
1745
|
-
def source_encoding_name: () -> String
|
1746
|
-
end
|