block_given?

ジャングル ブロック ナイ アルノハ jump ダケ。CC-BY-SA 3.0

ruboty-opening_sentenceを公開した

rubotyのプラグインを毎日作ろう3日目、ruboty-opening_sentenceを公開した。

@rubotyすると青空文庫の小説の中から適当に選んだ小説の書き出しをチャットに書き出してくれる。

f:id:block_given:20141009041737p:plain

書き出しは青空APIサーバーから取ってきている。 APIサーバーについては別の記事で紹介する。

はまったところ

Ruboty::Handlers::BaseRuboty::Actions::Baseを継承するのを忘れてしまい、うまく動かなかった。

くふうしたところ

青空文庫から本の情報(タイトル、書き出し、url)をランダムに1つ取る部分をAPIサーバーとして分離した。 そのおかげでruboty-opening_sentenceはapiを叩いて文字列を整形するだけのシンプルな作りになった。

後置rescuereturnを組み合わせると雑に例外処理が出来ていい。

def call
  json = open(url).raed rescue return
  book = JSON.parse(json) rescue return
end

例外を握りつぶすActiveSupporttryが欲しい。

まとめ

我が輩、毎日rubotyプラグイン書いてるので、本を読む時間はまだない。