CPANにモジュールを上げてみた

WebService::Slack::WebApiというモジュールをCPANに公開して、ついにCPAN Authorになった。

モジュールについて

アレな理由によりhubotのintegrationが使えず、(incomming webhooksもあるけど)せっかくだから生のAPIの方を弄ることに。 実態としては、APIの呼び出しをラッピングしているだけな、かなり適当なライブラリになった。

最初は各APIを1行目の感じで呼び出せるようにしようと思っていたけども、なんとなく、名前空間的な感じで分けたかったから2行目の感じにした。

my $result = $slack->chat_post_message('hoge');
my $result = $slack->chat->post_message('hoge');

最終的に、validationルールを記述するだけのモジュールが大量発生してしまい、冗長かなぁと思いつつもそのままにした。

モジュールを作る段階で学んだ点

あとで別の記事として書く予定。

  • Minillaを使ったモジュールスケルトンの作成・リリース
  • Travis CI, Coverallsã‚’Perlで利用する方法

先週の土日に実装を、インフルにかかってからドキュメントとほぼ実態のないテストを整備した。 TravisもCoverallsも利用するのがすごく簡単なうえに、なんとも言えない楽しさを与えてくれることに気づいた。

ドキュメントに書いたのはクソみたいな拙い英語だけど、良い機会になった。 やはり書く練習をしないといつまでたってもダメだな、と思った(粉みかん)。

今後

この2つくらいはやる。

  • access tokenを取得する処理が欲しい
  • post_messageのattachmentsを良い感じにしたい

その後は、Real Time Messaging APIを扱う奴も書く予定。 Pythonで書き直してPythonリハビリもしたい…