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している間だけメソッドが生えていれば良いのではという気持ちになって書いてみた。これネストするとだめですね。(適当にスタックすればなんとかなるかもしれない)