Lazuli

らずり

translaunder という gem を作った

What is TransLaunder?

新しい会社に転職して Ruby を使うようになったけど経験がほとんどない。
勉強がてら gem でも作ってみようということで作った。

translaunder | RubyGems.org | your community gem host
app2641/translaunder · GitHub

translaunder は Google 翻訳の翻訳結果を複数回翻訳するというやつ。
使い方は簡単で、

translaunder ja en 事なきを得る
=> 私はKotonakiを取得

と元の言語、翻訳したい言語、翻訳したいテキストを指定してあげればよい。

translaunder ja en 勝算はあるのか
=> チャンスはあります
translaunder ja en 日本じゅうがきみのレベルに落ちたら、この世のおわりだぞ
=> 日本は一度を通じてあなたのレベルにまで下がりました

こんな感じで遊べる。

実装

実装は似たような機能の gem である termit を参考にした。
module の書き方が読んでも意図不明なところが幾つかあったけど他はすんなり理解出来た。
クラスの分け方は普通のオブジェクト指向の分け方だから特に苦労せずクラスも書いていけた。
問題は Rspec で、何やってんだかさっぱりだし書き方も謎くてひとつずつ意味を理解することに努めた。
テストコードを読むにあたり下記のエントリを参考にした。
中でもモックを使う話は分かりやすくて参考になった。ありがたき。

qiita.com

qiita.com

qiita.com

モックと言っても基本的にやらせたいことは PHP であろうと Ruby であろうと同じなので、書き方さえ分かってしまえば理解は早かった。
まだ基本的なテストしか書いてないけどうまく出来てよかった。
見事、カバレッジも 100% だ。

次は Rails アプリを何か作ってみたい。