pry-doc 0.11.0 がリリースされた

オレ達の onk の PR コメントのおかげで pry-doc 0.11.0 がリリースされた 。ありがとうございます。

7ヶ月越しでマージされた PR は以下。変更は単純で raiseputs にして pry-doc の対応していない開発版 Ruby を使った時の例外を起こさなくしているのみ。たしか他の変更内容とまとめて putsraise にされてコミットがされていて、そこに意図をあまり感じなかったため一部を元の形にする形で PR としたものだったと記憶する。

github.com

当時のバックトレースの抜粋だけれど、開発版である Ruby 2.5.0 と pry-doc を併用するとエラーになるといった問題が解決されていると思います。

% bundle exec rails c
/Users/koic/.rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:51: warning: constant ::Fixnum is deprecated
/Users/koic/.rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:52: warning: constant ::Bignum is deprecated
/Users/koic/.rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/bundler-1.13.7/lib/bundler/runtime.rb:94:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'pry-doc'. (Bundler::GemRequireError)
Gem Load Error is: ruby/2.5.0 isn't supported by this pry-doc version
Backtrace for gem load error is:
/Users/koic/.rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pry-doc-0.10.0/lib/pry-doc.rb:10:in `load_yardoc'
/Users/koic/.rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pry-doc-0.10.0/lib/pry-doc.rb:20:in `<top (required)>'

良い開発版ライフを。

ぎんざRuby会議01でBundler 2の話をした

Ginza.rb 第50回となる、ぎんざRuby会議でのスポンサーLT枠となる。

ginzarb.github.io

3つの入社特典というスポンサートークの流れから、スポンサー企業に勤務している具体的ないちメンバーがどんなことに興味を持っているのかという斜めの方向から Bundler 2 の話をした。

www.slideshare.net

ソースビルドが必要な開発版であるため今後変更になる話があるかもしれないし、RFC との挙動の違いで気になる点が見つかったりするかもしれないが、そのあたりは早めに使って upstream にフィードバックして行くといいと思う。

次回の Ginza.rb 第51回は、ぎんざRuby開催当日に Rails 本体に統合された Active Storage がテーマになるので、Rails をテーマにしたこの地域Ruby会議を機にウォッチして見るのも良いと思う。

github.com

たのしい時間でした。実行委員会のみなさんありがとうございました。

Railsアプリケーションのバージョニング

定期的にリリースを行なう Web アプリケーションのリリースタグ名として release_yyyyMMdd という名前を長らく使っていた。

Rails アプリケーションのリリースタグ名として vyyyyMMdd という名前に最近を変更した。例えば 2017年8月4日リリースであれば v20170804 といったタグ名となる。

理由

GitHub でリリースを作成する際に、以下のとおり v で始まるタグ名を推奨されている。

Tagging suggestions

It’s common practice to prefix your version names with the letter v. Some good tag names might be v1.0 or v2.3.4.

この文言は https://github.com/#{user}/#{repo}/releases/new のサイドバーで確認できる。

他に考えられたが止めたタグ名

  • SemVer として v2.0.1 みたいにすることも考えられるが、ライブラリと異なり常に非互換/非互換の取捨選択がない特定環境下での問題特化であるアプリケーションなので SemVer は座りが悪かった。
  • Rabbit のように、常に 0.0.1 繰り上げるという方法も v2.9.0 みたいなバージョン表記名に意味を作るのが難しかったため止めた。
  • v の後ろに機能名を付けるタグ名は、あるイテレーションのリリースで複数の目玉機能がある場合に破綻するため、定期的なサイクルのリリースタグ名としてはかなり昔に止めている。

最終的に参考にしたリポジトリ

Rails アプリケーションとは毛並みは違うが、ruby-build のリリースタグ名を参考に vyyyyMMdd とした。リリースにまつわる会話では、いつのリリースで入った/入る機能かなどが焦点となるため日付を使うことは都合が良い。


この話とは別にそのバージョンに対する ChangeLog 相当のものは用意されるが、それはまた別の機会に書くかもしれない。

表参道.rb #25 に Twitter で少し顔を出した

表参道.rb で Rails アンチパターンをテーマにした話がされるようだったので、Tiwtter でネタを投下していた。

そうしたら sinsoku さんがキャッチアップして供養してくれました。ありがとうございます。

qiita.com