上京エンジニアの葛藤

都会に染まる日々

公開した gem のダウンロード数が気になって業務に集中できないから slack に通知するようにした話

はろー。こんにちは。
ここ数日タイトル通りの感じで落ち着きがありませんでした。

前回公開した記事に理由があります。
okkun-sh.hatenablog.com
つまり 初めて 作った gem のダウンロード数が気になって業務に集中できませんでした。
ごめんなさい!

一先ずこのままではいかんのでサクッとダウンロード数を定期的に垂れ流す slack bot を作りました。
github.com

実装

  1. slack のアプリケーションを追加する
    以下のページを参考にしてくれよな!
    SlackのIncoming Webhooksを使い倒す - Qiita
  2. ほんのちょっとだけプログラム書く
    GitHub - okkun-sh/gem_dl_count_slack_bot
    gem として公開してませんが使ってください
  3. crontab の登録をする(別に crontab じゃなくてもいい)
    自分は crontab に登録して、1日4回叩くようにしてます

2. ほんのちょっとだけプログラム書く これをちょっと補足します。

require './gem_dl_count_slack_bot'
GemDlCountSlackBot.new(
  slack_uri: "xxx", # 1 で取得した slack のエンドポイント
  gem_uri: "https://rubygems.org/gems/xxx" # 取得したい gem 詳細ページ
).post_slack

GemDlCountSlackBot では具体的に何をしてるかというと対象の gem のページをスクレイピングして DL 数を取得していて、その値を含めて slack エンドポイント叩いてるだけです。
DOM 構造変わったら悲しみ〜

これで集中して業務に取り組むことができ、世界に平和が訪れました。
めでたしめでたし