Skip to content

Commit d455d70

Browse files
committed
未収録の組み込みクラスのドキュメントを追加する
rurema#617 チェックリストの残り6クラスのページを追加する。BitClust は manual/api/ 以下の .md をファイル存在で認識するため、新規ファイル追加だけで登録される (IO.md 等の既存ファイルの編集は不要)。 - Process::Waiter([c:Thread] のサブクラス、[m:Process.detach] が返す監視スレッド) - Random::Formatter([c:Random] に include・[c:SecureRandom] に extend される整形 メソッド群のモジュール。整形メソッドは require "random/formatter"(または "securerandom")読み込み後に定義される点を明記) - IO::EAGAINWaitReadable / EAGAINWaitWritable / EINPROGRESSWaitReadable / EINPROGRESSWaitWritable(Errno::EAGAIN/EINPROGRESS のサブクラスで IO::WaitReadable/WaitWritable を include したノンブロッキング I/O 用の例外クラス) あわせて Random.md に include、securerandom.md に extend の front matter を追加。 fix rurema#617
1 parent af4af5f commit d455d70

8 files changed

Lines changed: 112 additions & 0 deletions
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
library: _builtin
3+
include:
4+
- IO::WaitReadable
5+
---
6+
# class IO::EAGAINWaitReadable < Errno::EAGAIN
7+
8+
[m:IO#read_nonblock] などのノンブロッキング I/O が読み込み待ちの状態で
9+
`EAGAIN` を検出したときに発生する例外です。
10+
11+
[c:Errno::EAGAIN] のサブクラスであり [c:IO::WaitReadable] を include して
12+
いるため、`rescue IO::WaitReadable``rescue Errno::EAGAIN` のどちらでも
13+
捕捉できます。同様の例外を発生させるたびに [m:Object#extend] するのでは
14+
なく、あらかじめ [c:IO::WaitReadable] を include したこの専用クラスの
15+
インスタンスを生成することで実現されています。
16+
17+
- **SEE** [c:IO::WaitReadable], [m:IO#read_nonblock]
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
library: _builtin
3+
include:
4+
- IO::WaitWritable
5+
---
6+
# class IO::EAGAINWaitWritable < Errno::EAGAIN
7+
8+
[m:IO#write_nonblock] などのノンブロッキング I/O が書き込み待ちの状態で
9+
`EAGAIN` を検出したときに発生する例外です。
10+
11+
[c:Errno::EAGAIN] のサブクラスであり [c:IO::WaitWritable] を include して
12+
いるため、`rescue IO::WaitWritable``rescue Errno::EAGAIN` のどちらでも
13+
捕捉できます。同様の例外を発生させるたびに [m:Object#extend] するのでは
14+
なく、あらかじめ [c:IO::WaitWritable] を include したこの専用クラスの
15+
インスタンスを生成することで実現されています。
16+
17+
- **SEE** [c:IO::WaitWritable], [m:IO#write_nonblock]
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
library: _builtin
3+
include:
4+
- IO::WaitReadable
5+
---
6+
# class IO::EINPROGRESSWaitReadable < Errno::EINPROGRESS
7+
8+
ノンブロッキングな I/O 処理が読み込み待ちの状態で `EINPROGRESS` を検出
9+
したときに発生する例外です。
10+
11+
[c:Errno::EINPROGRESS] のサブクラスであり [c:IO::WaitReadable] を include
12+
しているため、`rescue IO::WaitReadable``rescue Errno::EINPROGRESS`
13+
どちらでも捕捉できます。同様の例外を発生させるたびに [m:Object#extend]
14+
するのではなく、あらかじめ [c:IO::WaitReadable] を include したこの専用
15+
クラスのインスタンスを生成することで実現されています。
16+
17+
- **SEE** [c:IO::WaitReadable], [c:IO::EINPROGRESSWaitWritable]
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
library: _builtin
3+
include:
4+
- IO::WaitWritable
5+
---
6+
# class IO::EINPROGRESSWaitWritable < Errno::EINPROGRESS
7+
8+
[m:Socket#connect_nonblock] などのノンブロッキングな接続処理が完了を
9+
待っている状態で `EINPROGRESS` を検出したときに発生する例外です。
10+
11+
[c:Errno::EINPROGRESS] のサブクラスであり [c:IO::WaitWritable] を include
12+
しているため、`rescue IO::WaitWritable``rescue Errno::EINPROGRESS`
13+
どちらでも捕捉できます。同様の例外を発生させるたびに [m:Object#extend]
14+
するのではなく、あらかじめ [c:IO::WaitWritable] を include したこの専用
15+
クラスのインスタンスを生成することで実現されています。
16+
17+
- **SEE** [c:IO::WaitWritable], [m:Socket#connect_nonblock]
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
library: _builtin
3+
---
4+
# class Process::Waiter < Thread
5+
6+
[m:Process?.detach] が返す、子プロセスの終了を監視するスレッドを表す
7+
クラスです。
8+
9+
[c:Thread] のサブクラスであり、監視している子プロセスのプロセス ID を
10+
保持しています。
11+
12+
- **SEE** [m:Process?.detach]
13+
14+
## Instance Methods
15+
16+
### def pid -> Integer
17+
18+
監視している子プロセスのプロセス ID を返します。

manual/api/_builtin/Random.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
---
22
library: _builtin
3+
include:
4+
- Random::Formatter
35
---
46
# class Random < Object
57

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
library: _builtin
3+
---
4+
# module Random::Formatter
5+
6+
生成した乱数を 16 進文字列や base64 文字列、UUID など、人が扱いやすい
7+
形式の文字列に整形するためのメソッド群を提供するモジュールです。
8+
9+
このモジュールは [c:Random] に include され、[c:SecureRandom] には
10+
extend されています。ただし、以下の整形用メソッドが定義されるのは
11+
`require "random/formatter"` を読み込んだとき(`require "securerandom"`
12+
でも読み込まれます)です。読み込むと、[c:Random] のインスタンスと
13+
[c:SecureRandom] の両方でこれらのメソッドが使えるようになります。
14+
15+
- random_bytes
16+
- hex
17+
- base64
18+
- urlsafe_base64
19+
- alphanumeric
20+
- uuid など
21+
22+
これらのメソッドの詳しい説明は [c:SecureRandom] を参照してください。

manual/api/securerandom.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
---
22
type: library
3+
extend:
4+
- Random::Formatter
35
---
46
安全な乱数発生器のためのインターフェースを提供するライブラリです。
57
HTTP のセッションキーなどに適しています。

0 commit comments

Comments
 (0)