rbs 3.1.3 → 3.2.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +0 -6
  3. data/CHANGELOG.md +68 -0
  4. data/Gemfile +0 -6
  5. data/Gemfile.lock +12 -21
  6. data/README.md +1 -1
  7. data/Rakefile +44 -0
  8. data/Steepfile +3 -3
  9. data/core/array.rbs +0 -8
  10. data/core/builtin.rbs +28 -8
  11. data/core/constants.rbs +13 -5
  12. data/core/exception.rbs +1 -1
  13. data/core/global_variables.rbs +27 -27
  14. data/core/io.rbs +163 -172
  15. data/core/kernel.rbs +7 -4
  16. data/core/module.rbs +34 -32
  17. data/core/object.rbs +2 -2
  18. data/core/string_io.rbs +9 -0
  19. data/core/thread.rbs +25 -1
  20. data/core/time.rbs +3 -3
  21. data/docs/CONTRIBUTING.md +1 -1
  22. data/docs/rbs_by_example.md +16 -35
  23. data/docs/repo.md +1 -1
  24. data/docs/sigs.md +7 -7
  25. data/docs/stdlib.md +2 -3
  26. data/docs/syntax.md +40 -40
  27. data/lib/rbs/cli.rb +15 -4
  28. data/lib/rbs/collection/installer.rb +5 -2
  29. data/lib/rbs/collection/sources/stdlib.rb +5 -1
  30. data/lib/rbs/errors.rb +8 -1
  31. data/lib/rbs/file_finder.rb +1 -1
  32. data/lib/rbs/prototype/rb.rb +64 -6
  33. data/lib/rbs/prototype/rbi.rb +2 -6
  34. data/lib/rbs/prototype/runtime.rb +29 -8
  35. data/lib/rbs/subtractor.rb +17 -0
  36. data/lib/rbs/type_name.rb +4 -4
  37. data/lib/rbs/version.rb +1 -1
  38. data/rbs.gemspec +1 -1
  39. data/schema/decls.json +1 -1
  40. data/sig/errors.rbs +54 -0
  41. data/sig/parser.rbs +2 -2
  42. data/sig/prototype/rb.rbs +9 -1
  43. data/sig/subtractor.rbs +4 -0
  44. data/stdlib/logger/0/logger.rbs +1 -1
  45. data/stdlib/observable/0/observable.rbs +219 -0
  46. data/stdlib/uri/0/common.rbs +24 -0
  47. data/stdlib/zlib/0/buf_error.rbs +79 -0
  48. data/stdlib/zlib/0/data_error.rbs +79 -0
  49. data/stdlib/zlib/0/deflate.rbs +276 -0
  50. data/stdlib/zlib/0/error.rbs +89 -0
  51. data/stdlib/zlib/0/gzip_file/crc_error.rbs +115 -0
  52. data/stdlib/zlib/0/gzip_file/error.rbs +128 -0
  53. data/stdlib/zlib/0/gzip_file/length_error.rbs +115 -0
  54. data/stdlib/zlib/0/gzip_file/no_footer.rbs +114 -0
  55. data/stdlib/zlib/0/gzip_file.rbs +228 -0
  56. data/stdlib/zlib/0/gzip_reader.rbs +362 -0
  57. data/stdlib/zlib/0/gzip_writer.rbs +237 -0
  58. data/stdlib/zlib/0/inflate.rbs +249 -0
  59. data/stdlib/zlib/0/mem_error.rbs +79 -0
  60. data/stdlib/zlib/0/need_dict.rbs +82 -0
  61. data/stdlib/zlib/0/stream_end.rbs +80 -0
  62. data/stdlib/zlib/0/stream_error.rbs +80 -0
  63. data/stdlib/zlib/0/version_error.rbs +80 -0
  64. data/stdlib/zlib/0/zstream.rbs +270 -0
  65. metadata +24 -8
  66. data/stdlib/prime/0/integer-extension.rbs +0 -41
  67. data/stdlib/prime/0/manifest.yaml +0 -2
  68. data/stdlib/prime/0/prime.rbs +0 -372
@@ -0,0 +1,362 @@
1
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
2
+ # This module provides access to the [zlib library](http://zlib.net). Zlib is
3
+ # designed to be a portable, free, general-purpose, legally unencumbered -- that
4
+ # is, not covered by any patents -- lossless data-compression library for use on
5
+ # virtually any computer hardware and operating system.
6
+ #
7
+ # The zlib compression library provides in-memory compression and decompression
8
+ # functions, including integrity checks of the uncompressed data.
9
+ #
10
+ # The zlib compressed data format is described in RFC 1950, which is a wrapper
11
+ # around a deflate stream which is described in RFC 1951.
12
+ #
13
+ # The library also supports reading and writing files in gzip (.gz) format with
14
+ # an interface similar to that of IO. The gzip format is described in RFC 1952
15
+ # which is also a wrapper around a deflate stream.
16
+ #
17
+ # The zlib format was designed to be compact and fast for use in memory and on
18
+ # communications channels. The gzip format was designed for single-file
19
+ # compression on file systems, has a larger header than zlib to maintain
20
+ # directory information, and uses a different, slower check method than zlib.
21
+ #
22
+ # See your system's zlib.h for further information about zlib
23
+ #
24
+ # ## Sample usage
25
+ #
26
+ # Using the wrapper to compress strings with default parameters is quite simple:
27
+ #
28
+ # require "zlib"
29
+ #
30
+ # data_to_compress = File.read("don_quixote.txt")
31
+ #
32
+ # puts "Input size: #{data_to_compress.size}"
33
+ # #=> Input size: 2347740
34
+ #
35
+ # data_compressed = Zlib::Deflate.deflate(data_to_compress)
36
+ #
37
+ # puts "Compressed size: #{data_compressed.size}"
38
+ # #=> Compressed size: 887238
39
+ #
40
+ # uncompressed_data = Zlib::Inflate.inflate(data_compressed)
41
+ #
42
+ # puts "Uncompressed data is: #{uncompressed_data}"
43
+ # #=> Uncompressed data is: The Project Gutenberg EBook of Don Quixote...
44
+ #
45
+ # ## Class tree
46
+ #
47
+ # * Zlib::Deflate
48
+ # * Zlib::Inflate
49
+ # * Zlib::ZStream
50
+ # * Zlib::Error
51
+ # * Zlib::StreamEnd
52
+ # * Zlib::NeedDict
53
+ # * Zlib::DataError
54
+ # * Zlib::StreamError
55
+ # * Zlib::MemError
56
+ # * Zlib::BufError
57
+ # * Zlib::VersionError
58
+ # * Zlib::InProgressError
59
+ #
60
+ #
61
+ #
62
+ # (if you have GZIP_SUPPORT)
63
+ # * Zlib::GzipReader
64
+ # * Zlib::GzipWriter
65
+ # * Zlib::GzipFile
66
+ # * Zlib::GzipFile::Error
67
+ # * Zlib::GzipFile::LengthError
68
+ # * Zlib::GzipFile::CRCError
69
+ # * Zlib::GzipFile::NoFooter
70
+ #
71
+ module Zlib
72
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
73
+ # Zlib::GzipReader is the class for reading a gzipped file. GzipReader should
74
+ # be used as an IO, or -IO-like, object.
75
+ #
76
+ # Zlib::GzipReader.open('hoge.gz') {|gz|
77
+ # print gz.read
78
+ # }
79
+ #
80
+ # File.open('hoge.gz') do |f|
81
+ # gz = Zlib::GzipReader.new(f)
82
+ # print gz.read
83
+ # gz.close
84
+ # end
85
+ #
86
+ # ## Method Catalogue
87
+ #
88
+ # The following methods in Zlib::GzipReader are just like their counterparts in
89
+ # IO, but they raise Zlib::Error or Zlib::GzipFile::Error exception if an error
90
+ # was found in the gzip file.
91
+ # * #each
92
+ # * #each_line
93
+ # * #each_byte
94
+ # * #gets
95
+ # * #getc
96
+ # * #lineno
97
+ # * #lineno=
98
+ # * #read
99
+ # * #readchar
100
+ # * #readline
101
+ # * #readlines
102
+ # * #ungetc
103
+ #
104
+ #
105
+ # Be careful of the footer of the gzip file. A gzip file has the checksum of
106
+ # pre-compressed data in its footer. GzipReader checks all uncompressed data
107
+ # against that checksum at the following cases, and if it fails, raises
108
+ # `Zlib::GzipFile::NoFooter`, `Zlib::GzipFile::CRCError`, or
109
+ # `Zlib::GzipFile::LengthError` exception.
110
+ #
111
+ # * When an reading request is received beyond the end of file (the end of
112
+ # compressed data). That is, when Zlib::GzipReader#read,
113
+ # Zlib::GzipReader#gets, or some other methods for reading returns nil.
114
+ # * When Zlib::GzipFile#close method is called after the object reaches the
115
+ # end of file.
116
+ # * When Zlib::GzipReader#unused method is called after the object reaches the
117
+ # end of file.
118
+ #
119
+ #
120
+ # The rest of the methods are adequately described in their own documentation.
121
+ #
122
+ class GzipReader < Zlib::GzipFile
123
+ include Enumerable[String]
124
+
125
+ # <!--
126
+ # rdoc-file=ext/zlib/zlib.c
127
+ # - Zlib::GzipReader.open(filename) {|gz| ... }
128
+ # -->
129
+ # Opens a file specified by `filename` as a gzipped file, and returns a
130
+ # GzipReader object associated with that file. Further details of this method
131
+ # are in Zlib::GzipReader.new and ZLib::GzipFile.wrap.
132
+ #
133
+ def self.open: (String filename) { (instance gz) -> void } -> instance
134
+
135
+ # <!--
136
+ # rdoc-file=ext/zlib/zlib.c
137
+ # - Zlib::GzipReader.zcat(io, options = {}, &block) => nil
138
+ # - Zlib::GzipReader.zcat(io, options = {}) => string
139
+ # -->
140
+ # Decompresses all gzip data in the `io`, handling multiple gzip streams until
141
+ # the end of the `io`. There should not be any non-gzip data after the gzip
142
+ # streams.
143
+ #
144
+ # If a block is given, it is yielded strings of uncompressed data, and the
145
+ # method returns `nil`. If a block is not given, the method returns the
146
+ # concatenation of all uncompressed data in all gzip streams.
147
+ #
148
+ def self.zcat: (IO io, **untyped) -> String
149
+ | (IO io, **untyped) { (String chunk) -> void } -> nil
150
+
151
+ public
152
+
153
+ # <!--
154
+ # rdoc-file=ext/zlib/zlib.c
155
+ # - each(*args)
156
+ # -->
157
+ # See Zlib::GzipReader documentation for a description.
158
+ #
159
+ def each: (*untyped) { (String) -> void } -> void
160
+
161
+ # <!--
162
+ # rdoc-file=ext/zlib/zlib.c
163
+ # - each_byte()
164
+ # -->
165
+ # See Zlib::GzipReader documentation for a description.
166
+ #
167
+ def each_byte: () { (String) -> void } -> void
168
+
169
+ # <!--
170
+ # rdoc-file=ext/zlib/zlib.c
171
+ # - each_char()
172
+ # -->
173
+ # See Zlib::GzipReader documentation for a description.
174
+ #
175
+ def each_char: () { (String) -> void } -> void
176
+
177
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
178
+ # See Zlib::GzipReader documentation for a description.
179
+ #
180
+ def each_line: (*untyped) { (String) -> void } -> void
181
+
182
+ # <!--
183
+ # rdoc-file=ext/zlib/zlib.c
184
+ # - eof()
185
+ # -->
186
+ # Returns `true` or `false` whether the stream has reached the end.
187
+ #
188
+ def eof: () -> bool
189
+
190
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
191
+ # Returns `true` or `false` whether the stream has reached the end.
192
+ #
193
+ def eof?: () -> bool
194
+
195
+ # <!--
196
+ # rdoc-file=ext/zlib/zlib.c
197
+ # - external_encoding()
198
+ # -->
199
+ # See Zlib::GzipReader documentation for a description.
200
+ #
201
+ def external_encoding: () -> Encoding
202
+
203
+ # <!--
204
+ # rdoc-file=ext/zlib/zlib.c
205
+ # - getbyte()
206
+ # -->
207
+ # See Zlib::GzipReader documentation for a description.
208
+ #
209
+ def getbyte: () -> Integer?
210
+
211
+ # <!--
212
+ # rdoc-file=ext/zlib/zlib.c
213
+ # - getc()
214
+ # -->
215
+ # See Zlib::GzipReader documentation for a description.
216
+ #
217
+ def getc: () -> String?
218
+
219
+ # <!--
220
+ # rdoc-file=ext/zlib/zlib.c
221
+ # - gets(*args)
222
+ # -->
223
+ # See Zlib::GzipReader documentation for a description. However, note that this
224
+ # method can return `nil` even if #eof? returns false, unlike the behavior of
225
+ # File#gets.
226
+ #
227
+ def gets: (?String sep, ?Integer limit) -> String?
228
+
229
+ # <!--
230
+ # rdoc-file=ext/zlib/zlib.c
231
+ # - lineno()
232
+ # -->
233
+ # The line number of the last row read from this file.
234
+ #
235
+ def lineno: () -> Integer
236
+
237
+ # <!--
238
+ # rdoc-file=ext/zlib/zlib.c
239
+ # - lineno=(p1)
240
+ # -->
241
+ # Specify line number of the last row read from this file.
242
+ #
243
+ def lineno=: (Integer arg0) -> Integer
244
+
245
+ # <!--
246
+ # rdoc-file=ext/zlib/zlib.c
247
+ # - pos()
248
+ # -->
249
+ # Total number of output bytes output so far.
250
+ #
251
+ def pos: () -> Integer
252
+
253
+ # <!--
254
+ # rdoc-file=ext/zlib/zlib.c
255
+ # - read(p1 = v1)
256
+ # -->
257
+ # See Zlib::GzipReader documentation for a description.
258
+ #
259
+ def read: (?int? length, ?string outbuf) -> String?
260
+
261
+ # <!--
262
+ # rdoc-file=ext/zlib/zlib.c
263
+ # - readbyte()
264
+ # -->
265
+ # See Zlib::GzipReader documentation for a description.
266
+ #
267
+ def readbyte: () -> Integer
268
+
269
+ # <!--
270
+ # rdoc-file=ext/zlib/zlib.c
271
+ # - readchar()
272
+ # -->
273
+ # See Zlib::GzipReader documentation for a description.
274
+ #
275
+ def readchar: () -> String
276
+
277
+ # <!--
278
+ # rdoc-file=ext/zlib/zlib.c
279
+ # - readline(*args)
280
+ # -->
281
+ # See Zlib::GzipReader documentation for a description.
282
+ #
283
+ def readline: (?String sep, ?Integer limit) -> String
284
+
285
+ # <!--
286
+ # rdoc-file=ext/zlib/zlib.c
287
+ # - readlines(*args)
288
+ # -->
289
+ # See Zlib::GzipReader documentation for a description.
290
+ #
291
+ def readlines: (?String sep, ?Integer limit) -> ::Array[String]
292
+
293
+ # <!--
294
+ # rdoc-file=ext/zlib/zlib.c
295
+ # - gzipreader.readpartial(maxlen [, outbuf]) => string, outbuf
296
+ # -->
297
+ # Reads at most *maxlen* bytes from the gziped stream but it blocks only if
298
+ # *gzipreader* has no data immediately available. If the optional *outbuf*
299
+ # argument is present, it must reference a String, which will receive the data.
300
+ # It raises `EOFError` on end of file.
301
+ #
302
+ def readpartial: (int maxlen, ?string outbuf) -> String
303
+
304
+ # <!--
305
+ # rdoc-file=ext/zlib/zlib.c
306
+ # - rewind()
307
+ # -->
308
+ # Resets the position of the file pointer to the point created the GzipReader
309
+ # object. The associated IO object needs to respond to the `seek` method.
310
+ #
311
+ def rewind: () -> Integer
312
+
313
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
314
+ # Total number of output bytes output so far.
315
+ #
316
+ def tell: () -> Integer
317
+
318
+ # <!--
319
+ # rdoc-file=ext/zlib/zlib.c
320
+ # - ungetbyte(p1)
321
+ # -->
322
+ # See Zlib::GzipReader documentation for a description.
323
+ #
324
+ def ungetbyte: (String | Integer arg0) -> NilClass
325
+
326
+ # <!--
327
+ # rdoc-file=ext/zlib/zlib.c
328
+ # - ungetc(p1)
329
+ # -->
330
+ # See Zlib::GzipReader documentation for a description.
331
+ #
332
+ def ungetc: (String arg0) -> NilClass
333
+
334
+ # <!--
335
+ # rdoc-file=ext/zlib/zlib.c
336
+ # - unused()
337
+ # -->
338
+ # Returns the rest of the data which had read for parsing gzip format, or `nil`
339
+ # if the whole gzip file is not parsed yet.
340
+ #
341
+ def unused: () -> String?
342
+
343
+ private
344
+
345
+ # <!--
346
+ # rdoc-file=ext/zlib/zlib.c
347
+ # - Zlib::GzipReader.new(io, options = {})
348
+ # -->
349
+ # Creates a GzipReader object associated with `io`. The GzipReader object reads
350
+ # gzipped data from `io`, and parses/decompresses it. The `io` must have a
351
+ # `read` method that behaves same as the IO#read.
352
+ #
353
+ # The `options` hash may be used to set the encoding of the data.
354
+ # `:external_encoding`, `:internal_encoding` and `:encoding` may be set as in
355
+ # IO::new.
356
+ #
357
+ # If the gzip file header is incorrect, raises an Zlib::GzipFile::Error
358
+ # exception.
359
+ #
360
+ def initialize: (_Reader io, **untyped opts) -> void
361
+ end
362
+ end
@@ -0,0 +1,237 @@
1
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
2
+ # This module provides access to the [zlib library](http://zlib.net). Zlib is
3
+ # designed to be a portable, free, general-purpose, legally unencumbered -- that
4
+ # is, not covered by any patents -- lossless data-compression library for use on
5
+ # virtually any computer hardware and operating system.
6
+ #
7
+ # The zlib compression library provides in-memory compression and decompression
8
+ # functions, including integrity checks of the uncompressed data.
9
+ #
10
+ # The zlib compressed data format is described in RFC 1950, which is a wrapper
11
+ # around a deflate stream which is described in RFC 1951.
12
+ #
13
+ # The library also supports reading and writing files in gzip (.gz) format with
14
+ # an interface similar to that of IO. The gzip format is described in RFC 1952
15
+ # which is also a wrapper around a deflate stream.
16
+ #
17
+ # The zlib format was designed to be compact and fast for use in memory and on
18
+ # communications channels. The gzip format was designed for single-file
19
+ # compression on file systems, has a larger header than zlib to maintain
20
+ # directory information, and uses a different, slower check method than zlib.
21
+ #
22
+ # See your system's zlib.h for further information about zlib
23
+ #
24
+ # ## Sample usage
25
+ #
26
+ # Using the wrapper to compress strings with default parameters is quite simple:
27
+ #
28
+ # require "zlib"
29
+ #
30
+ # data_to_compress = File.read("don_quixote.txt")
31
+ #
32
+ # puts "Input size: #{data_to_compress.size}"
33
+ # #=> Input size: 2347740
34
+ #
35
+ # data_compressed = Zlib::Deflate.deflate(data_to_compress)
36
+ #
37
+ # puts "Compressed size: #{data_compressed.size}"
38
+ # #=> Compressed size: 887238
39
+ #
40
+ # uncompressed_data = Zlib::Inflate.inflate(data_compressed)
41
+ #
42
+ # puts "Uncompressed data is: #{uncompressed_data}"
43
+ # #=> Uncompressed data is: The Project Gutenberg EBook of Don Quixote...
44
+ #
45
+ # ## Class tree
46
+ #
47
+ # * Zlib::Deflate
48
+ # * Zlib::Inflate
49
+ # * Zlib::ZStream
50
+ # * Zlib::Error
51
+ # * Zlib::StreamEnd
52
+ # * Zlib::NeedDict
53
+ # * Zlib::DataError
54
+ # * Zlib::StreamError
55
+ # * Zlib::MemError
56
+ # * Zlib::BufError
57
+ # * Zlib::VersionError
58
+ # * Zlib::InProgressError
59
+ #
60
+ #
61
+ #
62
+ # (if you have GZIP_SUPPORT)
63
+ # * Zlib::GzipReader
64
+ # * Zlib::GzipWriter
65
+ # * Zlib::GzipFile
66
+ # * Zlib::GzipFile::Error
67
+ # * Zlib::GzipFile::LengthError
68
+ # * Zlib::GzipFile::CRCError
69
+ # * Zlib::GzipFile::NoFooter
70
+ #
71
+ module Zlib
72
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
73
+ # Zlib::GzipWriter is a class for writing gzipped files. GzipWriter should be
74
+ # used with an instance of IO, or IO-like, object.
75
+ #
76
+ # Following two example generate the same result.
77
+ #
78
+ # Zlib::GzipWriter.open('hoge.gz') do |gz|
79
+ # gz.write 'jugemu jugemu gokou no surikire...'
80
+ # end
81
+ #
82
+ # File.open('hoge.gz', 'w') do |f|
83
+ # gz = Zlib::GzipWriter.new(f)
84
+ # gz.write 'jugemu jugemu gokou no surikire...'
85
+ # gz.close
86
+ # end
87
+ #
88
+ # To make like gzip(1) does, run following:
89
+ #
90
+ # orig = 'hoge.txt'
91
+ # Zlib::GzipWriter.open('hoge.gz') do |gz|
92
+ # gz.mtime = File.mtime(orig)
93
+ # gz.orig_name = orig
94
+ # gz.write IO.binread(orig)
95
+ # end
96
+ #
97
+ # NOTE: Due to the limitation of Ruby's finalizer, you must explicitly close
98
+ # GzipWriter objects by Zlib::GzipWriter#close etc. Otherwise, GzipWriter will
99
+ # be not able to write the gzip footer and will generate a broken gzip file.
100
+ #
101
+ class GzipWriter < Zlib::GzipFile
102
+ # <!--
103
+ # rdoc-file=ext/zlib/zlib.c
104
+ # - Zlib::GzipWriter.open(filename, level=nil, strategy=nil) { |gz| ... }
105
+ # -->
106
+ # Opens a file specified by `filename` for writing gzip compressed data, and
107
+ # returns a GzipWriter object associated with that file. Further details of
108
+ # this method are found in Zlib::GzipWriter.new and Zlib::GzipFile.wrap.
109
+ #
110
+ def self.open: (String filename) { (instance gz) -> void } -> instance
111
+
112
+ public
113
+
114
+ # <!--
115
+ # rdoc-file=ext/zlib/zlib.c
116
+ # - <<(p1)
117
+ # -->
118
+ # Same as IO.
119
+ #
120
+ def <<: (_ToS obj) -> self
121
+
122
+ # <!--
123
+ # rdoc-file=ext/zlib/zlib.c
124
+ # - comment=(p1)
125
+ # -->
126
+ # Specify the comment (`str`) in the gzip header.
127
+ #
128
+ def comment=: (String arg0) -> void
129
+
130
+ # <!--
131
+ # rdoc-file=ext/zlib/zlib.c
132
+ # - flush(flush=nil)
133
+ # -->
134
+ # Flushes all the internal buffers of the GzipWriter object. The meaning of
135
+ # `flush` is same as in Zlib::Deflate#deflate. `Zlib::SYNC_FLUSH` is used if
136
+ # `flush` is omitted. It is no use giving flush `Zlib::NO_FLUSH`.
137
+ #
138
+ def flush: (?Integer flush) -> String
139
+
140
+ # <!--
141
+ # rdoc-file=ext/zlib/zlib.c
142
+ # - mtime=(p1)
143
+ # -->
144
+ # Specify the modification time (`mtime`) in the gzip header. Using an Integer.
145
+ #
146
+ # Setting the mtime in the gzip header does not effect the mtime of the file
147
+ # generated. Different utilities that expand the gzipped files may use the mtime
148
+ # header. For example the gunzip utility can use the `-N` flag which will set
149
+ # the resultant file's mtime to the value in the header. By default many tools
150
+ # will set the mtime of the expanded file to the mtime of the gzipped file, not
151
+ # the mtime in the header.
152
+ #
153
+ # If you do not set an mtime, the default value will be the time when
154
+ # compression started. Setting a value of 0 indicates no time stamp is
155
+ # available.
156
+ #
157
+ def mtime=: (string | _ToPath | IO file_name) -> Time
158
+
159
+ # <!--
160
+ # rdoc-file=ext/zlib/zlib.c
161
+ # - orig_name=(p1)
162
+ # -->
163
+ # Specify the original name (`str`) in the gzip header.
164
+ #
165
+ def orig_name=: (String arg0) -> void
166
+
167
+ # <!--
168
+ # rdoc-file=ext/zlib/zlib.c
169
+ # - pos()
170
+ # -->
171
+ # Total number of input bytes read so far.
172
+ #
173
+ def pos: () -> Integer
174
+
175
+ # <!--
176
+ # rdoc-file=ext/zlib/zlib.c
177
+ # - print(*args)
178
+ # -->
179
+ # Same as IO.
180
+ #
181
+ def print: (*untyped arg0) -> NilClass
182
+
183
+ # <!--
184
+ # rdoc-file=ext/zlib/zlib.c
185
+ # - printf(*args)
186
+ # -->
187
+ # Same as IO.
188
+ #
189
+ def printf: (String format_string, *untyped arg0) -> NilClass
190
+
191
+ # <!--
192
+ # rdoc-file=ext/zlib/zlib.c
193
+ # - putc(p1)
194
+ # -->
195
+ # Same as IO.
196
+ #
197
+ def putc: (Numeric | String arg0) -> untyped
198
+
199
+ # <!--
200
+ # rdoc-file=ext/zlib/zlib.c
201
+ # - puts(*args)
202
+ # -->
203
+ # Same as IO.
204
+ #
205
+ def puts: (*untyped arg0) -> NilClass
206
+
207
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
208
+ # Total number of input bytes read so far.
209
+ #
210
+ def tell: () -> Integer
211
+
212
+ # <!--
213
+ # rdoc-file=ext/zlib/zlib.c
214
+ # - write(*args)
215
+ # -->
216
+ # Same as IO.
217
+ #
218
+ def write: (*_ToS string) -> Integer
219
+
220
+ private
221
+
222
+ # <!--
223
+ # rdoc-file=ext/zlib/zlib.c
224
+ # - Zlib::GzipWriter.new(io, level = nil, strategy = nil, options = {})
225
+ # -->
226
+ # Creates a GzipWriter object associated with `io`. `level` and `strategy`
227
+ # should be the same as the arguments of Zlib::Deflate.new. The GzipWriter
228
+ # object writes gzipped data to `io`. `io` must respond to the `write` method
229
+ # that behaves the same as IO#write.
230
+ #
231
+ # The `options` hash may be used to set the encoding of the data.
232
+ # `:external_encoding`, `:internal_encoding` and `:encoding` may be set as in
233
+ # IO::new.
234
+ #
235
+ def initialize: (_Writer io, Integer level, Integer strategy, **untyped opts) -> void
236
+ end
237
+ end