Ginza.rb 第53回

「Ginza.rb 第53回 Gemfileのみせっこ!みんなどんなの使ってます」に行った。会場は FiNC さん。

ginzarb.doorkeeper.jp

回収場所に記された Gemfile を見て行く流れで、定番の Gem から昔みた Gem 、知らなかった Gem などを見て行くことができた。

github.com

やはりみなさん必要に応じて Forked gem を用意しているようで、そんななかでも willnet さんが持ち寄った Gemfile の以下の指定が印象に残ったりしてた。

gem 'cells-hamlit', github: 'willnet/cells-hamlit', branch: 'k0kubun'

その後、k0kubun さんによって Gemify されたので、同様の Forked gem をもちいている方がいたら gem 指定にすると良いと思う。

福岡Ruby会議02前夜祭のスライドづくり

正確には昨日の夜から朝2時くらいにかけてのことだが、RWC 2017 のため島根に向かう飛行機で書いたテキストを Keynote に起こしたりしていた。Heaven's Feel に倣って三部作にする予定で、第二部については今週の福岡行きの飛行機でテキストを起こそうと思っている。

AppVoyer で bundler's executable "bundle" conflicts

どうも 2017-11-19 (JST) 本日未明より AppVoyer で以下のような Bundler インストールでの競合が発生するようになっていた模様。

gem install bundler --no-document
bundler's executable "bundle" conflicts with C:/Ruby23/bin/bundle
Overwrite the executable? [yN]  

https://ci.appveyor.com/project/bbatsov/rubocop/build/1540/job/f8gxj2m6b53qe3tg#L23

これが原因で 60 min のタイムアウトでジョブが失敗していた。

Build execution time has reached the maximum allowed time for your plan (60 minutes).

https://ci.appveyor.com/project/bbatsov/rubocop/build/1540/job/f8gxj2m6b53qe3tg/messages

既にレポートが上がって、いちおう解決はしてはいるらしいけれど、自分の見ているビルドは上手く動いていないのでとりあえずコメントをしているところ。同様の問題を見掛けたら以下の Issue を見てみると良いと思う。

github.com

`Gemspec/RequiredRubyVersion` cop の実装で学んだこと

pocke さんに RuboCop JP 発の PR をレビューしてもらった際に学んだこと。全文に代えたコードは以下。

github.com

少し日本語テキストで記しておく。

  • 今回の例としては false negative のテストコードとして追加しているが、想定しうるコードでクラッシュするのを避ける (今回 required_ruby_version への変数代入が想定できていなかった)
  • スタブを避ける手段が用意されていないかいま一度確認する。今回の例でいうと expect_offense の第2引数にファイル名を渡せるようになっている。使っている API のインタフェースはきちんと調べる

他にも str_content や最左最長一致で不要な正規表現は不要だったなどいろいろあるけれど、まだまだ粗い箇所について今回も勉強になったのだった。

Rails Developers Meeting #7

今回で毎月の開催は最終回ということで、ひとまず毎月開催お疲れ様でした。

個人的に印象に残ったのは、ukstudio の「サービスレイヤー」についての PoEAA 話やうずらさんの「コンテナはプロセス」といったものだった。前者については懇親会でも議論していて書籍への解釈の違いなどを話せて良かった。

12月に LT で登壇するけれど、そのスライドは福岡から帰ってきたらの着手になりそうで、まずは福岡の前夜祭 LT の準備からそろそろホンキ出す。

渋谷.rb[:20171115]

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

shibuyarb.doorkeeper.jp

主に3つ進捗があった。

1つ目。神速さんから技術書典で頒布されていた Rails の薄い本をレビュアー献本でもらった。

Rails アプリケーションの実践的な Tips など記されていてなかなか良い薄い本だと思うので、興味のある人は神速さんにコンタクトをとって入手すると良いと思っている。

2つ目。Style/MixinUsage cop の Issue があがっていたので、PR を書いていたりした。

github.com

さすがに include M といった情報でレシーバーのクラスを静的解析で判断することはできないので、それが引数に使われるケースは false negative という判断で提案したもの。RSpec の Include matcher で false positive になるのはなるほどなあという Issue だった。

3つ目。福岡Ruby会議の宿をとれた。ここ1週間くらい毎日見ていてまったくとれなかったところ、publichtml さんに知見を教わって予約することができた。

今回の渋谷.rbに参加したとき、福岡Ruby会議当日の宿がない、前夜祭のスライドもないといった状態から宿はある状態になることできた。