22時に寝ようと思って2時に寝る。

備忘録や日記を書いてます。きょうは早く寝よう。

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によって、小文字や大文字を区別しない場合があるので、原則小文字で統一する。

参考

Name your gem - RubyGems Guides