A Day in the Life

2006-10-25

結局

Linux + vim に戻ってきたという…。あああ俺の時間が…。

んでもって test は takiuchi さんが書いてた tail -f log/test.log %; automake と redgreen に落ち着いたという。やべーこれおもれーよ!takiuchi さん最高!こんど飯食べに行きましょう!babie の money で><

windows + rake db:migrate で生成される schema.rb が変な件

:default の値にシングルクオート文字が入りまくってる…。

t.column "name", :string, :default => "''''''"

なんすかこれ…

↑結局001~00x までばらけていたスクリプトを一つにまとめたら出なくなった…。うーん。

RTest

rails.vim でよしなにテストやってくれるコマンドがないので適当に作ってみた。unit テストしかやってみたないのでほかは動かないかも…。

:RTest もしくは :Test で test が走る。んで copen で quickfix 開いておくとそれっぽく。

*** /home/gorou/svn/railsvim/plugin/rails.vim   2006-10-24 11:02:06.000000000 +0900
--- rails.vim   2006-10-25 14:31:41.000000000 +0900
***************
*** 813,818 ****
--- 813,851 ----
    endif
  endfunction

+ function! s:RTest(...)
+   if a:0
+     let path = a:1
+   else
+     if expand("%:p") =~ 'test[\\/]\(integration\|functional\|unit\).*_test.rb'
+       let path = expand("%:p")
+     elseif s:RelatedFile() =~ 'test[\\/]\(integration\|functional\|unit\).*_test.rb'
+       let path = RailsRoot() . '/' . s:RelatedFile()
+     elseif s:AlternateFile() =~ 'test[\\/]\(integration\|functional\|unit\).*_test.rb'
+       let path = RailsRoot() . '/' .  s:AlternateFile()
+     else
+       echo 'no run test!'
+       return
+     end
+   endif
+
+   if filereadable(path)
+     exe 'make test:'.s:testType(path).' TEST="'.path.'"'
+   else
+     echo 'test file not exist: ' . path
+   end
+ endfunction
+
+ function! s:testType(path)
+   if matchstr(a:path, 'test/integration')
+     return 'integration'
+   elseif matchstr(a:path, 'test/functional')
+     return 'functionals'
+   else
+     return 'units'
+   endif
+ endfunction
+
  function! s:raketasks()
    return "db:fixtures:load\ndb:migrate\ndb:schema:dump\ndb:schema:load\ndb:sessions:clear\ndb:sessions:create\ndb:structure:dump\ndb:test:clone\ndb:test:clone_structure\ndb:test:prepare\ndb:test:purge\ndoc:app\ndoc:clobber_app\ndoc:clobber_plugins\ndoc:clobber_rails\ndoc:plugins\ndoc:rails\ndoc:reapp\ndoc:rerails\nlog:clear\nrails:freeze:edge\nrails:freeze:gems\nrails:unfreeze\nrails:update\nrails:update:configs\nrails:update:javascripts\nrails:update:scripts\nstats\ntest\ntest:functionals\ntest:integration\ntest:plugins\ntest:recent\ntest:uncommitted\ntest:units\ntmp:cache:clear\ntmp:clear\ntmp:create\ntmp:sessions:clear\ntmp:sockets:clear"
  endfunction
***************
*** 1192,1197 ****
--- 1225,1232 ----
    command! -buffer -bar -nargs=0 RS :call s:Related(0,"S")
    command! -buffer -bar -nargs=0 RV :call s:Related(0,"V")
    command! -buffer -bar -nargs=0 RT :call s:Related(0,"T")
+   command! -buffer -bar -nargs=0 RTest :call s:RTest()
+   command! -buffer -bar -nargs=0 Test :call s:RTest()
    "command! -buffer -bar -nargs=0 RN :call s:Alternate(0,"")
    call s:BufFinderCommands()
  endfunction

assert_select, assert_tag

http://d.hatena.ne.jp/moro/20061017/1161059168

おー。たしかに出力された view の test 書きたいけど assert_equal によるマッチじゃksmndksi んで、例えばどこどこにエラーメッセージ表示用の div がでてれば ok、とかわりとライトに書けるのー。スバラシス。

Social change is changing yourself

ogijun vs takahasim というディスカッションを一度きいてみたい。(あれ、ogijun は肯定派だったよね?)

include したモジュールの削除

ってどうにかがんばればできたりしない、のかな、カナ?Reloadable 消したいだけ、とかそういう。

カタコッタ

誰かマッサージ屋つれてってください><。一人じゃ怖くて入れないヲ>lt;

下北から家まで

チャリで20分強かぁ。わりととおい。

記事の一覧 >