会場がすぐそこだったので参加した。前半は朝に素振りしてたTurboについて調べてたり、RubyやRailsのドキュメントサイトについてしゃべってた。
- Ruby Apiがオシャレ
- ググっても https://api.rubyonrails.org/ がなかなか検索でヒットしなかったりするのでmetaタグ差し込んだらどうにかなる?
- api.rubyonrails.orgの生成はrails/railsのRakefileの中で行われてそう
みたいなことをしゃべっていたと思う。
✍ Railsのドキュメントサイトの生成方法
結論、rails/rails を bundle install
したあとに rake rdoc
を実行すると doc/rdoc
に静的サイトが出力されるので、 doc/rdoc/index.html
を眺めると良い。
$ rake --tasks (in /Users/ikaruga/src/github.com/rails/rails) rake build # Build gem files for all projects rake default # Run all tests by default rake gem # Run gem task for all projects rake install # Install gems for all projects rake package # Run package task for all projects rake prep_release # Prepare the release rake publish_docs # Publishes docs, run this AFTER a new stable tag has been pushed rake rdoc # Generate documentation for the Rails framework rake release # Release all gems to rubygems and create a tag rake smoke # Smoke-test all projects rake test # Run test task for all projects rake test:isolated # Run test:isolated task for all projects rake update_versions # Bump all versions to match RAILS_VERSION rake verify # Build, install and verify the gem files in a generated Rails app
コードとしては以下のあたり。Rakefileに rdoc
なんてタスク無いじゃん、と思ってたら、 Rails::API::EdgeTask.new("rdoc")
の引数がタスクの名前だった。 Rails::API::EdgeTask
は Rails::API::RepoTask
を継承していて、 最終的に RDoc::Task#initialize
に引数が渡る。 RDoc::Task
までくるとそれはRubyの標準ライブラリである。
desc "Generate documentation for the Rails framework" if ENV["EDGE"] Rails::API::EdgeTask.new("rdoc") else Rails::API::StableTask.new("rdoc") end
class Rake::RDocTask (Ruby 3.1 リファレンスマニュアル)
後半はPHP勉強会@東京との合同LT合戦を聞いていた。
- irb の
edit
コマンドでREPLの中にいながらエディタを開ける - bundler/inline の中で
binding.irb
を書いておくと事前処理を行った上でREPLが動いて便利 gh pr list | fzf | awk '{print $1}' | xargs gh pr checkout
あたりが自分の中で刺さった。
現場参加の勉強会はかなり久々だったけど、発表の空気感やオフでの挨拶自己紹介周りについては圧倒的にオンラインより快適。これから現地参加できる勉強会が増えるのであれば積極的に参加していきたいなあと思った。