ファイルを開き、解析後に csv ファイルを作成する ruby スクリプト (.rb) があります。
私はスクリプトを独立して維持しており、他のアプリケーションで使用する可能性があります。
今、コードをコピーしてコントローラーに貼り付けただけです...それが正しくないことはわかっています!
この Ruby スクリプトをアプリケーションに組み込むにはどうすればよいですか?
私はそれを宝石にしますか?
ありがとう。
ファイルを開き、解析後に csv ファイルを作成する ruby スクリプト (.rb) があります。
私はスクリプトを独立して維持しており、他のアプリケーションで使用する可能性があります。
今、コードをコピーしてコントローラーに貼り付けただけです...それが正しくないことはわかっています!
この Ruby スクリプトをアプリケーションに組み込むにはどうすればよいですか?
私はそれを宝石にしますか?
ありがとう。
それを宝石にしてインストールするのは1つのオプションです。それ以外の場合は、ファイルのディレクトリをロードパスとして登録します。その部分は、オペレーティングシステムによって異なる場合があります。たとえば、Ubuntu Linuxでは、ターミナルで次のことを行います。
export RUBYLIB=path_to_the_directory_where_the_file_is
次に、require
そのファイルを使用します。コマンドから直接呼び出されたのか、別のrubyスクリプトから呼び出されたのかによってライブラリの動作を変えたい場合、一般的な方法はライブラリに書き込むことです。
if __FILE__ == $0
commands_to_execute_when_called_directly_from_command
end
私たちは、Ruby ベースの小さなコマンドライン ツールを常に作成し、それらを通常の Linux アプリとして扱います。通常のアプリのように、バックティックまたは を使用してそれらを呼び出したり%x
、通常のパイプ ( ) を使用してチェーンしたりするのは簡単です。|
大量のデータを投げる場合は、--json
OptionParser を使用してフラグを追加することがよくあります。これにより、JSON を呼び出し元のプログラムに送信できるようになり、CSV や列データを解析する代わりにデータを再利用しやすくなります。 .
これらの種類のアプリを/usr/local/bin
*nix システムにインストールし、そこで検索するようにパスが設定されていることを確認してから、シェル、Ruby、またはサブシェルを使用できる他の言語の間でコードを共有できます。
Ruby で書かれているからといって、gem やモジュールである必要はありません。Ruby はそれ以上の能力を備えており、通常のホスト エコロジーにうまく適合します。