Ruby 2.4.1がリリースされた

先日の大江戸 Ruby 会議で、バグフィックスの入った Ruby 2.4.1 のリリースについて少し話が取りあげられていて熱が冷めやらないうちにリリースされた。ありがとうございます。

直接間接で使っている ruby-build (rbenv) と RVM にそれぞれの PR を出し、それぞれすぐにマージしてもらえている。

ruby-build (rbenv)

自分のローカル環境で使っている ruby-build の方は、PR のもとになる内容で rbenv install 2.4.1 を手元で試して良さそうだったので PR を出したもの。

github.com

もう少し話すと手元の開発環境では ls -l ~/.rbenv/plugins/ruby-build すると以下のような結果が出るように ghq で管理しているリポジトリへの symlink にしているので、手元での実績が先にある形の PR になる。

/Users/koic/.rbenv/plugins/ruby-build -> /Users/koic/src/github.com/rbenv/ruby-build

すぐにマージしてもらえているので (ありがとうございます!) 、いつもの Ruby バージョンのリスト更新となる cd ~/.rbenv/plugins/ruby-build && git pull && cd - 的なもので、ruby-build を最新にして rbenv install 2.4.1 でインストールできる。

RVM

RVM についてローカル環境では使っていないものの、いつもお世話になっている Travis CI でもちいられているため PR を出した。

github.com

こちらは Unreleased でリリース待ちなので、バージョニングリリースとしては、しばしお待ちという感じだと思う。

Ginza.rb 第45回

Ginza.rb 第45回 もうすぐやってくる!Rails5.1を見ておこうに参加した。会場はみんなのウェディングさん。

ginzarb.doorkeeper.jp

y-yagi さんによって Rails 5.1 の変更点がまとめられた話は、とてもひき込まれる内容で濃厚な時間を過ごすことができた。

Rails のリリースに関しては、まず Basecamp での実績が先にあり…」といったスライドにはあらわれない付加価値の話も聞くこともできて (RailsHarvested Framework であることを改めて思い出した) 、とても勉強になる会でした。ありがとうございました。

大江戸Ruby会議06

行ってきた。会場は御茶ノ水のソラシティカンファレンスセンター。

regional.rubykaigi.org

石塚圭樹さんの Ruby の歴史から、rosylilly の sora_h と重ねた歴史の話、最後に sora_h 自身の話というのが要所要所に組み込まれていて、sora_h の生誕20周年というコンセプトに沿った流れでとても楽しめた。音楽でいうとコンセプトアルバムというパッケージが個人的にはぴったりくる。

個々のトピックとしても tech なコンテンツからエモーショナルな話まで幅広く聞けた。

rosylilly の発表にあった育成の話で、同じ時間を掛けたのであれば中身の濃い時間を過ごすことがより高みに近づけるといった話や、初期衝動は作ることができないといった話は今回の発表の中で特に印象に残った。

石塚圭樹さんの話の中で do ... end{ ... } の話があったが、それぞれ文と式を返すものといった感じで do ... end が付け加えられたという話が聞けたのは、Ruby の歴史を知る講演ならではの話としてきけたのが良かった。

例えばブロックの戻り値を使ってメソッドチェーンするときなど、 do ... end.join(', ') よりも { ... }.join(', ') の方が自然に見えるので、そういった観点での使い分けというのが広がるといいなあと改めて思ったりしている。

あと忘れないように記しておくと、前田修吾さんの発表で聞けた、Emacs の1行スクロール設定は自分の普段の生活に最も影響のあった話かもしれなかった。

(setq scroll-conservatively 1)

Rails 5.1.0(Edge)とHaml 4系の組み合わせ警告ログ

Rails 5.1.0 (Edge) と Haml 4 系の組み合わせて、rails c /rails s / rails r といったコマンドを実行すると以下のような警告ログが出る。

% bunde exec rails c
DEPRECATION WARNING: ActionView::Template::Handlers::Erubis is deprecated and 
will be removed from Rails 5.2. Switch to ActionView::Template::Handlers::ERB::Erubi 
instead. (called from <module:Haml> at /Users/koic/.rbenv/versions/2.5.0-dev/lib
/ruby/gems/2.5.0/gems/haml-4.0.7/lib/haml/helpers/safe_erubis_template.rb:3)
Loading development environment (Rails 5.1.0.beta1)

この警告自体は Action View の CHANGELOG.md に書かれているように ERB ハンドラが Erubis から Erubi に変更されることによるもののようだ。

Haml 5.0.0 (beta.2) では railtie.rb の以下のコードで Haml::SafeErubiTemplateHaml::SafeErubisTemplate を使い分けるようになっているので、Haml 5.0.0 (beta.2) を使えばこの警告ログは消えることになる。

if defined? Erubi
  require "haml/helpers/safe_erubi_template"
  Haml::Filters::Erb.template_class = Haml::SafeErubiTemplate
else
  require "haml/helpers/safe_erubis_template"
  Haml::Filters::Erb.template_class = Haml::SafeErubisTemplate
end

github.com

Oracle enhanced adapter 1.6.8 をリリースした

Rails 4.2.8 で Ruby 2.4 をサポートしたことに伴い、Unified Integer の警告ログが出るようになったというフィードバックの ISSUE をきっかけに、その ISSUE で yahonda さんに Rails 4.2 系に対応する oracle-enhanced 1.6 系のリリースの相談をしてみたのがきっかけ。

Rails 5.0 系に対応する oracle-enhanced 1.7 系からのバックポートを中心とした、だいたい1年ぶりの oracle-enhanced 1.6 系リリースで、Unified Integer の警告ログ以外にもいくつか修正点など入っている。

github.com

Google Groups にアナウンスした投稿が何故か反映されていない (Google Groups 弱者すぎる) ものの、Gem 自体のリリースはできているので Ruby 2.4.0 の Unified Integer まわりの警告が原因で Rails 4.2.8 にアップグレードできてない、Rails 4.2 系かつ Oracle ユーザーは特にアップグレードするのがおすすめ。