只今Ruby勉強中

プログラミングRuby―達人プログラマーガイド

うさぎさんと一緒にRubyの勉強をしているオレの記録。

間違ってる所とかいっぱいあると思いますけど、誰でもコメント出来るので気軽に教えて下さい。

普段は 鷹の島 って所で書いてます。

現在のハマリポイント - yield, succ?, Proc & 後で

2007-11-25 (Sun)

rspec.vim 00:15  rspec.vim - 只今Ruby勉強中 を含むブックマーク

ruby いじるのちょっと久しぶり。

rspec.vim を作った方がいるので、試してみる。copen と連携とかしていて便利そう。

で、試してみたら、エラー(後述)が出た上にカレントディレクトリに「 -l 1 hoge_spec.rb」なんていう謎のファイルが出来てうまく実行出来ませんでした、ごめんなさい…。linux 環境だから何か違うのかな。ちょっと追ってる余裕がありません。

僕があの後に作ったやつは以下の奴でして、多分 b:rails_root を見てるんで rails.vim を使ってる事が前提になってるんですけど、もう忘れてしまいました。手元にテストに使えそうな rails 環境もなくて…ヤバい。

function! s:Rspec()
   if exists('b:rails_root')
      exe '!rake spec SPEC="'.expand('%:p').'" RSPECOPTS="-l '.line('.').' '.g:rails_rspec_opt.'"'
   else
      exe '!spec -l '.line('.').' '.g:rspec_opt.' %'
   endif
endfunction

if !exists('g:rspec_opt')
   let g:rspec_opt = '-fs -c'
end

if !exists('g:rails_rspec_opt')
   let g:rails_rspec_opt = g:rspec_opt
end

au BufRead,BufNewFile *_spec.rb command! Rspec call s:Rspec()

上で言ってたエラー

/var/lib/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/behaviour_runner.rb:98:in `find_paths': File or directory not found: /tmp/v14656/2 (RuntimeError)
        from /var/lib/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/behaviour_runner.rb:92:in `each'
        from /var/lib/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/behaviour_runner.rb:92:in `find_paths'
        from /var/lib/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/behaviour_runner.rb:47:in `prepare!'
        from /var/lib/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/behaviour_runner.rb:19:in `run'
        from /var/lib/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/command_line.rb:17:in `run'
        from /var/lib/gems/1.8/gems/rspec-1.0.8/bin/spec:3
        from /var/lib/gems/1.8/bin/spec:16:in `load'

SeasonsSeasons2007/11/26 01:46Linux環境ではためしてませんでした・・・m( _ _ )m
合間で見てみますね。

SeasonsSeasons2007/11/26 01:53そういえば、Windows環境で、-cは、tempファイルにリダイレクトされなかったので、カットしました。
あと、Windows版のvimrunは、silentモードでもコマンドプロンプト画面が
でてくるので自作したものを使ってます。

SeasonsSeasons2007/11/26 15:11Linux用作っておきました。

gabagaba2007/11/27 20:43おお、ありがとうございます。
リダイレクト処理が問題だったんですね。
動くようになりました。

スクリプト、if has('win32') で win, linux 環境の振り分け出来るんで一個にまとめちゃうと良いかもしれません。

SeasonsSeasons2007/11/28 01:06そうですね。
今、vimrun書き直そうと思っているので、それとあわせてやっちゃいます。

SeasonsSeasons2007/11/28 04:14スクリプトをhasで切り替え&書き直したvimrun.exe付属でアップしておきました。

トラックバック - http://rubyist.g.hatena.ne.jp/gaba/20071125