Padrinoで任意のrakeタスクを追加する
Padrinoでは、rakeタスクを実行したい場合、特にRakefileを配置しなくてもrakeコマンドを付与することで実行することができる。
$ padrino rake (実行したいrakeタスク)
rakeタスク自体は、Padrinoの場合、
- ~/lib/tasks
- ~/tasks
- ~/test
- ~/spec
に配置されれば、自動的に再起探索されて実行される。
また、Padrinoのプロジェクトで利用しているmongoid等で作られたmodelなどはそのまま使えるので例えば、
# ~/tasks/test.rake #encoding: utf-8 task :default => "test" desc 'rakeタスクのテスト' task :test do oneuser = User.find(:first, :conditions=>{:user_id=>'123'}) p oneuser end
とすれば、
$ padrino rake test => Executing Rake test ... #<User _id: 500a5fbf7fae1d624f000001, _type: nil, created_at: 2012-07-21 07:52:31 UTC, updated_at: 2012-07-21 07:52:31 UTC, user_id: 123, name: "hideack">
といった具合に流用できる。