渋谷.rb[:20180221]

渋谷.rb[:20180221] に行った。会場は渋谷のピクスタさん。

shibuyarb.doorkeeper.jp

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 。

t.co

ちなみに本家の Ruby のマニュアルは ruby/ruby のソースコメントを元に生成されている。つまりそれぞれの upstream は異なっている。

RuboCop

いくつかの多岐に渡った話だったので日記に記すには時間がとれず割愛。OSS パッチ会などで聞いてもらえれば答えられる範囲で答えます。

blog.agile.esm.co.jp