ユーザに Gem の読み込み方針を提示するために、命名規則が推奨されている
実際には、↑ の命名になっていない Gem もあるけど、デファクトスタンダードとして知っておく
① クラス・モジュール名に複数単語が含まれる場合
単語を _
区切りにする
require 先と同じ表記になるので、ユーザーフレンドリー
例えば、
- Gem 名は
ruby_parser
- require 先は
〃
- クラス・モジュール名は
RubyParser
② 別の Gem を拡張する場合
拡張元を -
区切りにする
require先は /
区切りとなり、クラス・モジュール名は ::
区切りにする
例えば、net/http
に persistent
機能を追加する場合
- Gem 名は
net-http-persistent
- require 先は
net/http/persistent
- クラス・モジュール名は
Net::HTTP::Persistent
③ ①と②の場合
例えば、net/http
に digest authentication
機能を追加する場合
- Gem 名は
net-http-digest_auth
- require 先は
net/http/digest_auth
- クラス・モジュール名は
Net::HTTP::DigestAuth
※ 大文字は使わない(小文字で統一する)
OS によって、小文字や大文字を区別しない場合があり、意図せず Gem を読み込んでしまう可能性があるため