[解決済み] Rubyの理想的なプロジェクト構造
2022-07-08 22:23:46
質問
私はruby(非rails/merb/など)プロジェクトのための理想的なプロジェクト構造の概要/明確化を求めています。私はそれが次のように推測しています。
app/
bin/ #Files for command-line execution
lib/
appname.rb
appname/ #Classes and so on
Rakefile #Running tests
README
test,spec,features/ #Whichever means of testing you go for
appname.gemspec #If it's a gem
何か間違いがあったのだろうか?どの部分を見落としたのでしょうか?
どのように解決するのですか?
かなり的を射ていると思います。デフォルトでは、Rubygems は lib ディレクトリをロードパスに追加しますが、$: 変数を使って好きなディレクトリをその上に追加することができます。
$:.push File.expand_path(File.dirname(__FILE__) + '/../surfcompstuff')
つまり、sayがあるときに
surfer.rb
がある場合、そのディレクトリで
require "surfer"
を実行すれば、ファイルが見つかります。
また、慣習として、クラスとシングルトンはファイルを取得し、モジュールはディレクトリを取得します。例えば、もしあなたが
LolCatz
モジュールがあり
LolCatz::Moar
のようなクラスになります。
lib/
appname.rb
lolcatz/
moar.rb
そのため、lib/appname フォルダがあるのは、ほとんどのライブラリが
appname
の名前空間にあるからです。
さらに、コマンドを実行してみると
newgem --simple [projectname]
を実行してみると、Rubyプロジェクト(ひいてはRuby Gem)に必要な最低限のものだけを集めた雛形がすぐに生成されます。これを行うツールは他にもありますが、newgemはかなり一般的です。私は通常、TODOファイルやすべてのスクリプトのものを削除します。
関連
-
[解決済み】Ruby: 特定のバージョンのruby gemをインストールする方法は?
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] Rubyで文字列を小文字・大文字に変換する方法
-
[解決済み] Rubyのattr_accessorとは何ですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み】RSpecで単一のテスト/仕様ファイルを実行するにはどうすればよいですか?
-
[解決済み] rubyのinjectはreduceと同じ意味ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン