さとやn Blog

試合はRuby,勝負はC#!

2009年03月

エデンの東(1〜3)

先日、ラジオで爆笑問題の太田(敬称略)が言っていた「エデンの東」(全4巻)のうち1〜3巻を読みました。
アメリカ文学って今まで好きなものがなかったせいか、あまり期待はしていなかったのですが、これは面白いです。
面白い、ていうか、なんて言うか、とにかく読ませてくれる、というのは私の中では面白い、という評価です。
最後の4巻がちょうど図書館で予約済みになったのはいいのですが、取りに行く時間が全くない、、、。
来週まで延びてしまうかも、、、。

タイトルエデンの東〈1〉 (ハヤカワ文庫NV)
著者/監督/Artistジョン スタインベック
価格, 出版¥ 819 早川書房
評価★★★★★

2009-03-05

【「BOOK」データベースより】
美しくも厳しい大自然の営みが繰り返されるカリフォルニア州サリーナス。アダム・トラスクは、新生活を求めてこの地を訪れた。安寧な静穏を願いながらも、頑迷な父によって軍隊生活を強いられた彼は、除隊後も漫然と日々を送っていた。そんな折り、美貌の女性キャシーとめぐり合い、連れ立って新たな人生を踏み出す決意を固めるのだが…。南北戦争から第一次世界大戦までを背景に、人間に善悪、愛憎の葛藤を描く感動作。


レンタルサーバー解約

satoyansoft.comをホスティングしているレンタルサーバーを解約することにしました。
どうも対応が悪く、操作性も悪いので仮想化も進んだ今ならもう自分で管理した方が何かと便利、ということで自前で持つことにしました。
しかし、ドメイン管理の移行にいろいろ手続きが必要なため、あと2週間くらいかかりそうです。
もしユーザーの方で問い合わせ先がわからないという方は下記当てにお問い合わせください。
support@satoyansoft.com


Rspec

ApplicationControllerの
rescue_action_in_public, resuce_action_locallyを上書きして、
たとえば404ステータスコードを返すような処理を実装した場合、それを実際にRspecで確認しようとすると、単に例外が発生するばかりでテストになりません。
どうもresuce_in_**** が実行されていない模様。
Rspecのドキュメントでそれっぽい設定があるかどうか探していたら、ありました。
その名も、use_rails_error_handling !!!
で、これの初期値がどうなっているか実際に実行してデバッグ出力したところ、やはり、falseになっていました。
なので、use_rails_error_handling!() をサキに実行してやってみると、無事テストができました。
参考までに、実験したコードは以下のようになります。

rescue_action_*** をオーバーライドしてHTTPステータスコードは404を返すように変更
class ApplicationController < ActionController::Base
def rescue_action_in_public (ex)
return render(:text => ex.message, :status => 404)
end

def rescue_action_locally(ex)
return render(:text => ex.message, :status => 404)
end
end



で、とりあえず例外を発生するアクションを定義。
class MainController < ApplicationController
def index
raise 'hoge error'
end
end


実際に404が返ってくるかどうかのテスト
describe MainController do
before() do
controller.use_rails_error_handling!
get :index
end

it "404が返ってくるはず" do
response.code.should == "404"
end
end


beforeブロックで controller.use_rails_error_handling! を呼び出しておけばちゃんとresuce_action_**が呼ばれるようです。



プロフィール

さとやn

C#が好きだけど仕事はRubyばかりな開発者。
最近はDockerとか関数型言語とかAngularJSにハマっている。
武蔵小杉とか田町とか柏とかに出没。

QRコード
QRコード
  • ライブドアブログ