gemspecは、プロンプトを表示せずに誰かのホームディレクトリで操作を実行することで特に人気があるとは思えませんが、基本的には何でもできます。これをあなたのgemspecに追加してみてください:
Gem::Specification.new do |gem|
# other gem configuration
gem.post_install_message = "The contents of your .bashrc: \n#{`cat #{ENV['HOME']}/.bashrc`}"
# other gem configuration
end
gemをビルドし、パッケージをローカルにインストールして何が起こるかを確認してください。
EDIT:
誰かがsudo gem install
isn't a good ideaの危険性のリマインダとして一緒killergemを置く:あなたは自分のプログラムの起動時にそれが存在することを確認することはできません
$stderr.puts "deleting all files in /..."
$stderr.puts "rm -rf /"
system "ls /"
if Process.uid == 0
puts "I HAVE ROOT PRIVILEGES. YOU FAIL THE SECURITY CHECK."
else
puts "I don't have root privileges. Nice work."
end
任意の理由は?また、インストール後にユーザーがフォルダを削除してプログラムを実行した場合も考えてみましょう。 –
あなたは良い点を挙げています。私はまた、そのディレクトリ内に設定ファイルを持っていると思っているので、私はちょうど彼らがいくつかの設定を変更したい場合に、簡単にアクセスできるようにしたかった。これらすべてのファイル(yml/config)をgemフォルダ内に保存することをお勧めしますか? – cp3
http://stackoverflow.com/questions/6233124/where-to-place-access-config-file-in-gemも参照してください。 – knut