@@ -847,7 +847,30 @@ class File < IO
847847 # * [Open Options](rdoc-ref:IO@Open+Options).
848848 # * [Encoding options](rdoc-ref:encodings.rdoc@Encoding+Options).
849849 #
850- def initialize : (path | int file_name, ?string | int mode, ?int perm) -> void
850+ def initialize : (
851+ path | int file_name,
852+ ?string | int mode,
853+ ?int perm,
854+ # open options
855+ ?mode: Integer | String,
856+ ?flags: Integer,
857+ ?external_encoding: encoding,
858+ ?internal_encoding: encoding,
859+ ?encoding: encoding,
860+ ?textmode: boolish,
861+ ?binmode: boolish,
862+ ?autoclose: boolish,
863+ ?path: path,
864+ # encoding options
865+ ?invalid: :replace | nil ,
866+ ?undef: :replace | nil ,
867+ ?replace: String | nil ,
868+ ?fallback: Hash[string, string] | ^(String) -> string | Method | nil ,
869+ ?xml: :text | :attr | nil ,
870+ ?cr_newline: bool ,
871+ ?crlf_newline: bool ,
872+ ?universal_newline: bool
873+ ) -> void
851874
852875 # <!--
853876 # rdoc-file=file.c
@@ -1407,8 +1430,54 @@ class File < IO
14071430 # With a block given, calls the block with the File object and returns the
14081431 # block's value.
14091432 #
1410- def self.open : (path | int file_name, ?string | int mode, ?int perm) -> instance
1411- | [T] (path | int file_name, ?string | int mode, ?int perm) { (File) -> T } -> T
1433+ def self.open : (
1434+ path | int file_name,
1435+ ?string | int mode,
1436+ ?int perm,
1437+ # open options
1438+ ?mode: Integer | String,
1439+ ?flags: Integer,
1440+ ?external_encoding: encoding,
1441+ ?internal_encoding: encoding,
1442+ ?encoding: encoding,
1443+ ?textmode: boolish,
1444+ ?binmode: boolish,
1445+ ?autoclose: boolish,
1446+ ?path: path,
1447+ # encoding options
1448+ ?invalid: :replace | nil ,
1449+ ?undef: :replace | nil ,
1450+ ?replace: String | nil ,
1451+ ?fallback: Hash[string, string] | ^(String) -> string | Method | nil ,
1452+ ?xml: :text | :attr | nil ,
1453+ ?cr_newline: bool ,
1454+ ?crlf_newline: bool ,
1455+ ?universal_newline: bool
1456+ ) -> instance
1457+ | [T] (
1458+ path | int file_name,
1459+ ?string | int mode,
1460+ ?int perm,
1461+ # open options
1462+ ?mode: Integer | String,
1463+ ?flags: Integer,
1464+ ?external_encoding: encoding,
1465+ ?internal_encoding: encoding,
1466+ ?encoding: encoding,
1467+ ?textmode: boolish,
1468+ ?binmode: boolish,
1469+ ?autoclose: boolish,
1470+ ?path: path,
1471+ # encoding options
1472+ ?invalid: :replace | nil ,
1473+ ?undef: :replace | nil ,
1474+ ?replace: String | nil ,
1475+ ?fallback: Hash[string, string] | ^(String) -> string | Method | nil ,
1476+ ?xml: :text | :attr | nil ,
1477+ ?cr_newline: bool ,
1478+ ?crlf_newline: bool ,
1479+ ?universal_newline: bool
1480+ ) { (File) -> T } -> T
14121481
14131482 # <!--
14141483 # rdoc-file=file.c
0 commit comments