gemの命名規則
gemの命名規則って、アンダースコアとハイフンはどう使い分ければいいのか、などわからず調べたので備忘録として残しておきます。
推奨される規則
Gem名 | requireの書き方 | 主要なクラス名 および モジュール名 |
---|---|---|
ruby_parser | require 'ruby_parsor' | RubyParser |
rdoc-data | require 'rdoc/data' | RDoc::Data |
net-http-persistent | require 'net/http/persistent' | Net::HTTP::Persistent |
net-http-digest_auth | require 'net/http/digest_auth' | net/http/DigestAuth |
複数単語はアンダースコアで繋ぐ
クラス名やモジュール名に複数単語が含まれる場合はアンダースコアで繋ぐ。 requireと共通しているので、ユーザーが予想しやすくなる。
別のGemを拡張する場合はダッシュで繋ぐ
rdoc
というGemを拡張するrdoc-data
というGemを作る場合は、ハイフンで繋ぐ。
requireはスラッシュ区切りとなり、主要クラスやモジュールは::
に対応する。
拡張もするし、複数単語の場合は上記2つをどちらも適用する
net-http
というGemを拡張し、digest_auth
と命名したい場合は、どちらのルールも適用する。
大文字は使わない
OSによって、小文字や大文字を区別しない場合があるので、原則小文字で統一する。