akr/gem-codesearch で取得した gem から Ruby 以外のコードを全部消したいなあというので1-2時間考えたり slack で話したりして下のような感じで落ち着いた。
require 'find'
require 'open3'
require 'pathname'
EXT_NAMES = %w(.rb .ru .gemspec .rake .cmd .gemfile .thor)
Dir.glob("latest-gem/*").shuffle.each do |dir|
Find.find(dir) do |fn|
next unless File.file? fn
if !(EXT_NAMES.any?{|ext| fn.end_with?(ext)} || Pathname(fn).extname.empty?)
puts "removed: #{fn}"
File.unlink fn
next
end
_, _, _, wait_thr = *Open3.popen3("ruby -c #{fn}")
if wait_thr.value.exitstatus != 0
puts "removed: #{fn}"
File.unlink fn
end
end
end
世の中にある gem をだいたい見ていたら swift が入ってたり、.git のツリーがぶち込まれていたりとカオスなやつが結構見つかって笑っている。社会だなあ。
真田丸でもうまく描写していたけど、秀吉がだんだんやばくなっていくというのを良い感じに表現していたのが良かったなあ。あとは北条早雲の時代まで巻き戻って戦国時代まで戻っていくというのを読んでいく感じ。相変わらず面白いなあ。