2011-12-01 10 views
6

みんな!異なるRubyプロジェクト間のコード再利用のベストプラクティスは何ですか?

私はJavaの背景を持つソフトウェア開発者です。私はRuby Webフレームワーク(Padrino/Sinatra)を使用していくつかのプロジェクトを開始しています。

私のJavaプロジェクトでは、通常いくつかのプロジェクトで使用されているクラスの "共通の"プロジェクトがありました。たとえば、中央認証サービスと、ユーザープロファイルを格納した共有データベースがありました。このサービスを使用した私のすべてのプロジェクトは、ユーザープロファイルデータベースにマップされたいくつかのモデルを共有しました。

フレームワーク、orm libなどにもかかわらず、いくつかのRubyプロジェクトでコードを共有する最良の方法は何ですか?

答えて

4

さらに、ruby's gemsは、コードの共通部分を再利用するための最良の方法の1つです。宝石には名前、バージョン番号、説明がありますので、コマンドラインから入手できるgemコマンドを使用して、これらのライブラリの最新バージョンを簡単に維持したり、インストールしたりアンインストールしたり、宝石のローカルインストールを管理したりできます。 GemsはRuby 1.9では標準になっていましたが、スクリプトでrequire 'rubygems'行を使用する前に宝石が標準となりました。たとえば、bundlerのように、作成に役立つツールがいくつかあります。 Bundlerは、宝石作成のツールだけでなく、素晴らしいアプリケーションの依存マネージャーです。

0

something.rbファイルにコードを入れ、他のスクリプトの先頭にrequireコードを入れます。

requireの代わりにloadを使用することもできますが、requireには2回以上ファイルが含まれないというniceプロパティがあります。また、requireがないのに対しloadは、.rb拡張を必要と使用して、すなわち、

#some_script.rb 
puts('hello world') 

#another script 
require 'some_script' 
>> hello world 

load 'some_script' 
LoadError: no such file to load -- some_script 
    from (irb):2:in 'load' 
    from (irb):2 

あなたはほとんど常にrequireを使用しますが、あなたは...何らかの理由でそれを使用したい場合はloadも同様のオプションです。

+0

私は彼が複数のプロジェクトフォルダに** something.rb **を共有する最良の方法を意味すると思います。私もこれを行う必要があります。 –

関連する問題