gem

GemfileからSpecial Thanksページを生成するgem「arigato」と、それをRailsに簡単に組み込むengine「arigato_rails」を作った

前々からいつかやりたいと思っていた、gem作りに挑戦してみました。
試行錯誤のうえ、できたのがこちら。

Arigato, Arigato_Rails

Railsならbundleするだけで以下のようなページが生成されます。
Special Thanks

先日公開したKonnyakuにも組み込む予定。

なぜ作ったか

お世話になってるオープンソースプロダクトへのせめてのもの感謝として、積極的にAttributionするように心がけています。

いつもは、Footerに並べることが多いんですが、それだとどうしてもスペースや保守の限界があって、主要なものだけになってしまいます。

そこで目を付けたのがGemfile。Rubyならまさにこれがお世話になったリストだから、この情報を使ってスペシャルサンクスページを自動生成しちゃえばいいじゃん、と考えました。

 

はじめてのGem

の2つが参考になりました。

あとはOreThorのコードやSpecも勉強になりました。
また、Gemfileのパースについては、Bundler内のDSLというクラスを使わせてもらいました。

 

はじめてのEngine (Plugin)

あたりが勉強になりました。

また、同じ種類(bundleしたら画面が増える系)のgemということで、
schneems/sextant · GitHub
のコードを参考にさせてもらいました。

 

まとめ

今まで敷居が高いと思い込んでいましたが、単純なコマンドやプラグインなら思ったより簡単に出来るということがわかりました。これから、Gem化できそうなものがあれば積極的に作っていこうと思います。
とりあえず、arigato_podsは作りたい。

あとちゃんと出したものを保守する。テストも書く。

それでは、良い週末を。

oreでgemを作る

ちょっとgemを作ってみたいので調べたメモ。
最近は、

で作るのがモダンらしいことはわかった。

けど、なんか日本語情報が多すぎてわーってなっちゃった。

bundle gemでも十分便利なんだけど、oreってやつ使えばもっと便利にwrapしてくれてるらしい。
これは日本語情報が 今gemを作るなら bundle gem より ore gem – Hatena::Blog::toshiwo ぐらいしか見つからなくて混乱しなかったので、これを使ってみることにする。(どんな理由…)

まずはore(mineコマンド)を入れる。

helloコマンドでhelloと表示するgemを作ってみる。

gemをbuildして(ローカルで)インストールしてみる。

rake releaseとかすればrubygems.orgにも登録できるんだとか。超簡単ですね。

Ruby で作る、簡単 CLI ツールのススメ #Ruby #開発環境 #AdventCalendar – Qiita によるとThorってやつ使うとコマンドを楽に作れるらしいので、試しになんか作って公開するつもり。

メモ終わり。

ruby-gmailでRails3からサクッとgmail受信

ruby-gmailなんて便利なgemがあるんですね、全然知らなかった。
いままでnet/imapで頑張ってた時間よカムバック…orz

ruby-gmailを使ってRubyからGmailのメールを受信して本文を取得 – Shoken OpenSource Society
で知りました。参考になる情報ありがとうございます!

こちらの記事は生Rubyの話ですが、当然Railsでも使えます。
そして僕らにはBundlerがあるのでもっと楽できるのです。

というわけで試してみました。

上の記事を参考に以下の様なバッチスクリプトを書きます。

あとは、runnerで実行するだけです。

これだけで、log/development.logに

みたいな出力が並びます。
超お手軽ですね!

今度メール受信する要件があったら本格的に使ってみようと思います。

それでは。

 Scroll to top