発端
僕はメンタルが弱いエンジニアだ。
バグを直したり機能を追加した時は感謝され、褒められたい。
これは少し極端だが心情としてはこんなものである。
しかし現実は非情でありその程度で褒める人なんて居ない。
そう、"現実には"いないのである。
なら作ってしまえばいい。それがクリエイターだ。
実装方法
以前よりGitのPushログをSlackに垂れ流すためにこちらの記事のhooksスクリプトを使わせていただいていた。
デフォルトだとカボチャの絵文字が通知してくれるだけなので、ちょっとだけ寂しいと思いつつ面倒なのでそのまま使っていた。
今回はこのhooksスクリプトを少しだけカスタマイズしてPushする度に褒めてもらおうという魂胆だ。
アイコンの変更
今回は褒めてくれる人が絵文字ではないのでカスタム絵文字を使用する。
カスタム絵文字を作成する
こんな感じのものを作る。
次はhooksスクリプトを編集する。
my $icon = ':jack_o_lantern:';
を
my $icon = ':kiriya:';
こうだ。これでアイコンの変更は完了
メッセージの変更
スクリプト内に追記するだけ。
$text = ":bell: PUSHED INTO \`${branch}\` BRANCH!!!\n${text} ${message}";
を
$text = ":bell: PUSHED INTO \`${branch}\` BRANCH!!!\n${text} ${message}\nちゃんとPushできて偉い!これは穏やかじゃない!";
に変更する。
だがここで問題発生。日本語が文字化けしてしまう。
ファイルの文字コード等を変更してみたがダメだった。
おかしいと思い調べてみるとPerlはファイル内で文字コードの指定が必要らしい。
Shift_JIS(cp932)を使用する
というわけで
package MyApp::Notifier::Base;
の下辺りに以下を追加。
use encoding "cp932";
binmode STDERR, ':encoding(cp932)';
完成
これで完了。
こんな感じになる。穏やかじゃない!
良いエンジニアライフを!