2020-10-21
while true; do git fetch origin; sleep 300; done
を適当にバックグラウンドで動かしてみることにした。
ほんとうは全てのghq管理下のリポジトリが勝手に更新されていてほしいのだけど、そうもそれはそれで大変そうなのでとりあえずメインで開発している1レポジトリに対して手で実行している
twitter.comなにがていねいな暮らしだ、雑に生きていくぞ
— Pocke(ぽっけ) (@p_ck_) October 21, 2020
ていねいな暮らしは絶対的な善ではなくて、私は手を抜いて雑に生きていくほうが性に合っているからあまりていねいな暮らしを目指しても意味がないなと気がついたツイート
module Service extend self def call(user:, entry:) binding.local_variables.each do |lv| define_method(lv) {eval lv.to_s} end do_something binding.local_variables.each do |lv| undef_method(lv) end end private def do_something p user p entry end end Service.call(user: 'foo', entry: 'bar')
ServiceクラスではService.call
だけをexposeしたいけど一時的な状態を持つためにclassを作るとService#call
もexposeされてしまって嫌…という話から発展した大喜利コード。
callしている間だけメソッドが生えていれば良いのではという気持ちになって書いてみた。これネストするとだめですね。(適当にスタックすればなんとかなるかもしれない)