[Ruby] RubyGemsの'-'と'_'の使い分け
Bundler gemコマンドを使って、Gemを新規作成すると、名前の”-“と”_“の違いによって生成ファイルが異なる。
‘_‘の例
$ bundle gem my_tool -t -b
生成されるモジュール
module MyTool
....
end
’-‘の例
$ bundle gem my-tool -t -b
生成されるモジュール
module My
module Tool
....
end
end
このふるまいは、RubyGemsの規約に従っているようで、次のページに説明があった。
Name your gem - RubyGems Guides
_は複合語に使う-はGemの拡張に使う
例えば、Jekyllなら、Jekyll本体がjekyllで、jekyll-archivesはその拡張のひとつである。-で区切られているので、モジュールは、module JekyllArchivesではなく、module Jekyllのなかに、module Archivesが定義されていると予想できるし、実際、そうなっている。