渋谷.rb[:20180221] に行った。会場は渋谷のピクスタさん。
RubyKaigi 2018 の CFP を書きに行ったけれど、進捗はそれほどなく週末がんばりますといった気持ち。
CFP はひとりでも書けるけれど、対話はひとりではできないのでそんな感じで話していたうち、質問を受けて回答していたことを今後のポインタがてら記しておく。
依存 Gem で修正している内容を Rails アプリで確認する
Rails アプリが依存している Gem で問題があった際に、Gem のコードの変更を Rails アプリで確認する方法はいくつかあるのでそんな話。
まずローカルでの変更した Gem の動きを Rails アプリでを見るのが一番速く、その場合は Gemfile で path
オプションを指定する。
gem 'foo', path: '~/path/to/dir'
この場合は foo
gem に対するリポジトリを git clone
あるいは ghq get
したパスを path
オプションに記して bundle install
すると良い。
github
オプションと branch
オプションを使っても行うことができるが、リモートリポジトリに変更のたびに push して bundle install
する必要があるので開発中はサイクルが遅くあまりオススメはしない。逆に Forked gem にするくらいに仕上がったときにはそういった指定にするものと思う。
gem 'foo', github: 'user/repo', branch: 'fix_branch'
日本語の Ruby リファレンスマニュアルから、ある Ruby バージョンから必要のなくなった記述を消したい
日本語の Ruby リファレンスマニュアルは rurema/doctree で管理されており、こちらは Ruby のバージョンごとにブランチが分かれているわけではなく、master 一本でメンテナンスされている Ruby バージョンすべてが管理されている。
このあたり Ruby のバージョンによって記述を変えたい場合は、ドキュメント中に #@since ... #@end
と書いた範囲は指定バージョン以上のみ表示されて、#@until ... #@end
と書いた範囲は指定バージョン以降は表示されなくなるといった記述をもちいて記していくことになる。以下、参考になると思う PR 。
ちなみに本家の Ruby のマニュアルは ruby/ruby のソースコメントを元に生成されている。つまりそれぞれの upstream は異なっている。
RuboCop
いくつかの多岐に渡った話だったので日記に記すには時間がとれず割愛。OSS パッチ会などで聞いてもらえれば答えられる範囲で答えます。