Sinatraのエラーハンドリング
http://www.sinatrarb.com/intro.html#Error%20Handling
こちらを見ると例外はRackオブジェクトのsinatra.errorに入っているとあるが、ブロック引数としても受け取ることができる。
(バージョン1.4.4で確認)
require "sinatra" # developmentモードでもデバッグ表示させない set :show_exceptions, false # ブロック引数で例外オブジェクトを受け取る error do |e| status 500 # これでもできるけど #body env['sinatra.error'].message # これでもよい body e.message end get "/hoge" do raise "hoge" end
$ bundle exec ruby app.rb $ curl localhost:4567/hoge hoge
初めてTravis CI使った
https://travis-ci.org/rightgo09/chamber
初めてTravis CI使った。
CIさせるための.travis.ymlの設定ファイルの書き方があって
「またこういうルールを覚える作業が始まるお・・・」とダウナーにTravis CI: Building a Ruby Projectを見たらデフォルトでbundle installとrakeコマンドを打つみたいだったので、
いまは最小限のこれだけで事足りた。
language: ruby rvm: - 2.1.0
3行である。
たぶん何かしようとするたびに増えていくんだろうなー。
Chamberっていうbotをつくった
https://github.com/rightgo09/chamber
外国人と英語でチャットしているときに、よく「ん?」となって辞書を引くのがしんどくなったので
翻訳してくれるbotをつくった。
元ネタはこれ。 http://matome.naver.jp/odai/2136876483489139901
Microsoftの翻訳APIが1ヶ月で2_000_000文字まで無料なのでそれを使った。
アクセストークンが10分で切れるので、少し時間経っただけで取りに行くのが若干だるいけど。
Slackもすごく見やすくてよいサービスですねーって言ってたら
Slack is … launched! Now you can pay us. And everyone can get in. More features. So much other stuff. Some details: https://t.co/cxaC82y5Wy
— Slack (@SlackHQ) 2014, 2月 12
ローンチされたみたいです。お金払わなきゃ。
参考: