query: tag:rake

MerbのRakeタスク間の依存関係が知りたかったので、調べてみました。

pre>>
app <= [slices:merb-auth-slice-password:freeze:app_with_gem]
clobber_coverage <= [spec:clobber, spec:coverage]
copy_assets <= [slices:merb-auth-slice-password:install]create <= [db:reset]
db:migrate:up <= [db:migrate]
drop <= [db:reset]
env <= [slices:list]
freeze:app <= [slices:merb-auth-slice-password:freeze]
freeze:views <= [slices:merb-auth-slice-password:patch]
gem <= [slices:merb-auth-slice-password:freeze:app_with_gem]
load <= [db:migrate:down, db:migrate:up]
merb_env <= [audit:actions, audit:controllers, audit:routes, db:automigrate, db:
autoupgrade, db:database_yaml, db:migrate:load, sessions:clear, sessions:create]
migrate <= [db:reset, slices:merb-auth-slice-password:install]
preflight <= [slices:merb-auth-slice-password:install]
setup_directories <= [slices:merb-auth-slice-password:install]
slices:list <= [slices]
spec <= [default]
spec:default <= [slices:merb-auth-slice-password:spec, spec]
spec:explain <= [slices:merb-auth-slice-password:spec]
stubs <= [slices:merb-auth-slice-password:patch]
<<--

右側が左側に依存してる感じです。
以下のようなコードをRakefileの末尾に記述して取得しました。

ruby>>
tree = {}
Rake::Task.tasks.each{|t| t.prerequisites.each{|r| (tree[r] ||= []) << t.name}}
tree.sort_by{|i,j|i}.each{|r,a| puts "#{r} <= [#{a.sort.join(', ')}]"}
<<--

posted by genki genki on Fri 30 Jan 2009 at 03:00 with 0 comments

毎回検索しているのでメモ。

rake db:fixtures:load FIXTURES=table1,table2 RAILS_ENV=test

posted by ysakaki ysakaki on Sat 3 Jan 2009 at 23:11 with 0 comments

Macの環境でstat -cが使えなかったので、ついでに以前作成した
Rakeタスク補完関数を書き換えてみました。

sh>>
_rake () {
if [ -f Rakefile ]; then
compadd rake -T | awk "{print \\$2}" | xargs
fi
}

compdef _rake rake
<<--

posted by genki genki on Fri 12 Sep 2008 at 06:52 with 1 comment

javascript_include_tagstylesheets_link_tag
:cache => trueオプションは、複数のassetsファイルを
ひとつのファイルにまとめる事で、サーバへのリクエスト
数を減らすことができる機能です。

何度か実験してみたところ、生成されたキャッシュファイルを
削除して更新するためには、単純にファイルを削除するだけ
ではだめで、APサーバのプロセスを再起動する必要があるようです。

このためには、./script/process/reaper -a graceful
を使う必要があります。タイプするのが面倒なので、
Rakeタスクを作ってみました。

lib/tasks/cache.rake

rails>>
namespace :tmp do
namespace :cache do
desc 'Delete cached asset files'
task :update do
patterns = [
'public/stylesheets/cached_*.css',
'public/javascripts/cached_*.js']
Dir.glob(patterns).each do |path|
rm_rf path
puts "deleted: #{path}"
end
./script/process/reaper -a graceful 2>&1 > /dev/null
puts "script/process/reaper -a graceful"
end
end
end
<<--

生成されるキャッシュファイルの名前を
:cache => "cached_#{controller.controller_name}"
と指定しているため、こんな感じになります。
デフォルトでは、all.cssall.jsとなりますので
適宜読みかえてください。

posted by genki genki on Sat 12 Jan 2008 at 23:09 with 0 comments

標準のrakeタスクが便利です。最近教えてもらった/気づいたものもあるので一覧にしてみました。
db:create, db:reset, db:version, rake:routesなんかは最近知ったやつです。
時々rake --taskで便利なタスクがないか探してみるのもいいかもしれません。

shell-unix-generic>>
rake db:create
rake db:migrate VERSION=1
rake db:reset
rake db:test:clone
rake db:version
rake rails:freeze:edge REVISION=8220
rake routes
<<--

よく見たらこんなのもあった。使ってみよう。

shell-unix-generic>>
rake test:uncommitted # Test changes since last checkin (only Subversion)
<<--

posted by satoko satoko on Thu 29 Nov 2007 at 07:47 with 0 comments