2006-10-26(Thu) [長年日記]
■1 『 パターンによるソフトウェア構成管理』
marsさんとこ経由。翔泳社えらい!!!! 『達人プログラマー以下略』(ASCIIのほう)のバージョン管理編に挙がっている参考文献のなかで唯一、邦訳が存在しておらず、ごく一部では邦訳が強く望まれていた一冊。わー。日本語で読めるんだー。
読むべきは「ブランチやマージってどうやって運用したらいいんだろ?」って思ってる人.
同意です。Subversionへの言及がなくても、読む価値があると私は思う。
■2 「test 時に sqlite3 のオンメモリーDBを使う」をちょっとイジってみた
memory_test_fix pluginでsqlite3をインメモリにしてテストをブン回すのがお気に入りなんだけど、migrationのメッセージが毎回出力されて鬱陶しいなあ、と思っていたらセカちゃんがそれを抑制する方法を書いてくれたけれども、これだと何にも出なくなってちょっと不安だからdatabase.ymlで設定できるようにしてみた:
memory_test_fix.rb
# MemoryTestFix def in_memory_database? ENV["RAILS_ENV"] == "test" and ActiveRecord::Base.connection.class == ActiveRecord::ConnectionAdapters::SQLiteAdapter and Rails::Configuration.new.database_configuration['test']['database'] == ':memory:' end def verbosity Rails::Configuration.new.database_configuration['test']['verbosity'] end def inform_using_in_memory puts "Creating sqlite in memory database" end if in_memory_database? load_schema = lambda { load "#{RAILS_ROOT}/db/schema.rb" # use db agnostic schema by default # ActiveRecord::Migrator.up('db/migrate') # use migrations } case verbosity when "silent" silence_stream(STDOUT, &load_schema) when "quiet" inform_using_in_memory silence_stream(STDOUT, &load_schema) else inform_using_in_memory load_schema.call end end
で、database.yml に設定を書く:
インメモリだよん、のメッセージだけ出す
test: adapter: sqlite3 database: ":memory:" verbosity: quiet
とか
セカちゃん式(何も出ない)
test: adapter: sqlite3 database: ":memory:" verbosity: silent
追記
quietとsilentを逆にした(Rakeのオプションに合わせた)。英語むつかしい。
2006/10/28追記
(quietとsilentの間違いの意図を酌んでもらって)本家にcommitされた。わーい。Rev.133以降なら上の設定が有効になる。
うへ、びっくり。訳されたんだ!!
ぱっちおくってよ><(とかいう
topfunky宛メールだったら昨日送ったよん(silentとquietと間違えた版で><)