activerecord-oracle_enhanced-adapter-monky_patch_755 を開発終了する

TL;DR としては Rails 5.2 からは純正の Active Record Oracle enhanced adapter を使いましょうといったもの。


Active Record Oracle enhanced adapter の Rails 4.2 から Rails 5.0 への変更で要されるスキーマの DATE 型を TIMESTAMP 型にマイグレーションを要することなく、Rails 5.0 / Rails 5.1 を動かせるようにする activerecord-oracle_enhanced-adapter-monky_patch_755 という Gem の開発を終了する。

端的にいうと Rails 5.2 以降の対応はしないことにした。これは自分が困っていたスキーママイグレーションの問題について、スキーマ変更して解決して困らなくなったため。

Oracle database への知見としては相当数ある DATE 型から TIMESTAMP 型へのマイグレーション時間について懸念していたが、すぐ終わるものだったのでサクッとしておくと良い。この辺り相談に乗ってくれた Active Record Oracle enhanced adapter メンテナーで Oracle ACE の yahonda さんありがとうございました。

当該 Gem については、この後に依存 Gem のバージョニングを制限して README に EOL の旨を示し最後のリリースをして終わりになる見込み。

かなりニッチな要件なので利用者はいないものと思っているが、Rails 5.2 からは純正の Active Record Oracle enhanced adapter を使うようスキーマを対応するか Forked gem するかなどでよろしくお願いします。

github.com

github.com

渋谷.rb[:20190116]

渋谷.rb に行った。会場は渋谷区代々木の Repro さん。

shibuyarb.doorkeeper.jp

RubyKaigi 2019 に出したプロポーザルに関するコードを進めていたり、Rails 6 に向けて手元のアプリケーションの状態を見たりしていた。 途中、某所での登壇オファーを頂いたのでそのあたりの打ち合わせをしたりしているうちに本会は終了。

Shibuya.rb で出そうかなと思っていたけれど、思ったより早く解決していたので先に投げていたパッチは以下。

github.com

懇親会では、Ruby やコミュニティに関する話などして色々とためになりました。

Ginza.rb 第67回

『Ginza.rb 第67回 そろそろAction TextとAction Mailboxをみておこう』に行った。会場は東銀座のメドピアさん。

ginzarb.doorkeeper.jp

イントロダクション芸人の y-yagi さんが Rails 6.0 で追加される Action Text と Action Mailbox というふたつのフレームワークを紹介してくれる流れだった。

コンテンツについてはスライドが公開されることを割愛。

2019年1月16日追記: y-yagi さんのスライド (Gist) の URL を以下に追記しました。

https://gist.github.com/y-yagi/25171f5b6bb24d320ee69517fa7fdebf

それぞれの使い所の勘所や設計のアウトラインを整理して伝えてもらえて、特に Action Mailbox への知見を増やすことができてありがたかったです。

いずれも Active Storage に依存した作りになっており、Rails 5.2 での Active Storage がこれらの布石でもあったということが感じられた回だったということと、Rails 6.0 Beta 1 が ASAP でリリースされそうなタイミングになっていたということを知れたので、ざっくりとアプリケーションに適用するスパイクを進める頃合いが近くなってきた感触を得ることができました。

weblog.rubyonrails.org

お仕事へのアクションにも繋がる面白いテーマでした。ありがとうございました。

新元号に関するアプリケーションレイヤーの単純調査

先日の表参道.rb #42で話した U+32FF のコードポイントの続き。

平成 (若干の偽陽性を許容しつつも念のため例えば /平[[:space:]]*成/ なんかのパターンマッチでも良いかもしれない) の文字列がアプリケーションに存在していないか単純な事前調査の初手として grep しておくと良いと思う。

昭和から平成になったおよそ30年くらい前はコンピュータが現代みたいに普及していないこともあり、現代規模における Web システムの元号対応は前例がないと思っていて、ビューでの入力や特定文字コードに対する特殊対応など意外とヒットする可能性がなくはないアプリケーションもあると思うのでやっておいて損はないと思う。

RuboCopでfrozen-string-literalがRuby 3.0からデフォルトになる想定を外した

先日の表参道.rb #42 で Matz にも伺う機会を得たことのうち、frozen-string-literal が Ruby 3.0 でデフォルトになるかもしれない検討が Ruby 3.0 ではお見送りになったことを受けた実装の変更とコメントの改定に関する PR を RuboCop に開いた。

github.com

bugs.ruby-lang.org へのコメントにもあるとおり、現在取り込まれている frozen-string-literal に関するフィーチャーがなくなるといったものではなく、(表参道.rb で得ている情報を加筆すると) frozen-string-literal デフォルト移行への pain が減るようなツールや機構などが揃った際に改めて検討されるとのこと。

bugs.ruby-lang.org

それが Ruby 3.1 なのか Ruby 4 なのかはまだわからない未来の話。

RubyKaigi 2019 CFP への proposal を出した

ふだんの GitHub 活動のうちウェイトを占めているコンテンツを背景に提出した。