- Ruby / Rails関連
週刊Railsウォッチ(20191125)Ruby 3.0は2020年12月にリリース決定、Rails 5.2.4rc2とRuby 2.7.0-preview3がリリースほか
こんにちは、hachi8833です。先週発熱してしまいました💊。今週のウォッチはいつもより短くなっています🙇。
- 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ
- 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄
- 毎月第一木曜日に「公開つっつき会」を開催しています: お気軽にご応募ください
⚓お知らせ: 週刊Railsウォッチ「第17回公開つっつき会」(無料)
第16回目公開つっつき会は、来週12月05日(木)19:30〜にBPS会議スペースにて開催されます。
週刊Railsウォッチの記事やここだけの話にいち早く触れられるチャンス!発言・質問も自由です。引き続き皆さまのお気軽なご参加をお待ちしております🙇。
⚓Rails
⚓Rails 5.2.4rc2がリリース(Ruby公式ニュースより)
- リリース情報: Releases | Riding Rails
Changelogを見た限りでは、修正この間の6.0.1よりも少なめで、2017年などやや古い修正も含まれています。セキュリティ関連の修正は見当たりません。
- CHANGELOG: Release 5.2.4.rc1 · rails/rails
PR: Make ActiveSupport::Logger Fiber-safe by cmrd-senya · Pull Request #36753 · rails/rails
⚓Rails 6のActive Record新機能10(Ruby Weeklyより)
目次より:
rails db:prepare
rails db:seed:replant
- データベース自動切り替え
- Enumの
not_*
スコープ #extract_associated
#annotate
#touch_all
#destroy_by
と#delete_by
#where
でのエンドレスレンジ..
implicit_order_column
⚓Ruby
⚓Ruby 2.7.0-preview3がリリース
- リリース情報: Ruby 2.7.0-preview3 Released
preview2↓からの変更点はそれほどありませんので、違いのみピックアップします。
キーワード引数について
- preview3リリースの主な目的は、キーワード引数の互換性確認用。
つまりpreview3で互換性を開発者にどしどし確認して欲しいということですね。
取り消された機能
- experimentalのメソッド参照演算子
.:
(Feature #12125, Feature #13581, Feature #16275)が取り消し Symbol#to_s
、Module#name
、true.to_s
、false.to_s
、nil.to_s
が常にfrozenを返す変更(Feature 16150)が取り消しにregexp#match?
にnilを渡した場合に(StringやSymbolと同様に)TypeErrorを返す変更(Feature #13083)が取り消し
デフォルトgem
- 以下のデフォルトgemがrubygems.orgで公開された
上はすべて11/06から公開されています。
- 以下のデフォルトgemはruby-coreに昇格のみ、rubygems.orgでは未公開
- monitor
- observer
- timeout
- tracer
- uri
- yaml
その他
Monitor
クラスとMonitorMixin
モジュールのパフォーマンス改善(Feature #16255)
⚓RubyConf 2019に参加した
先週ナッシュビルで開催されたRubyConf 2019のNoah Gibbsさんによる記事です。
抜粋:
- Ruby 3.0の来年12月リリースが決定したことが公式にアナウンスされた
- Fiberを用いたasyncなgemがRubyコアに多数入りそう
- 個人的にArtichokeが面白そう
- rubyfmtは発展途上だがアツい(以下の記事参照)
Matzのキーノート動画(54m52s)を覗いてみたところ「よほどのことがない限り来年12月にRuby 3.0をリリースする」「期限切ったことがとても重要」「もしかしたら機能をいくつか落とすかもしれないけど」「頑張って締め切り守る」とのことでした。
- サイト: RubyConf 2019
https://www.youtube.com/watch?v=oGNR63RQ6AM
⚓その他Ruby
ちなみに本書はRuby 2.4を対象にしていますが、その後のRubyのバージョンアップによって説明が古くなった箇所は以下の記事にまとめています。
Ruby 2.5の差異https://t.co/k0jHtPRPzK
Ruby 2.6の差異https://t.co/UhXVH99s0jRuby 2.7についてもまとめる予定ですので、引き続きご愛顧くださいませ❤️
— Junichi Ito (伊藤淳一) (@jnchito) November 24, 2019
今週は以上です。
おたより発掘
ついに Ruby も 3.0 かー https://t.co/rgTxlz4MKJ
— がぶ (@gabu) November 26, 2019
バックナンバー(2019年度第4四半期)
週刊Railsウォッチ(20191119後編)メソッド参照演算子が廃止、GitHub新機能続々、平成Ruby会議、GitHub OAuthバイパスほか
- 20191118前編 ActiveJob引数のログ抑制、RailsガイドProプランお試し、ファイルアップロードのレジュームgemほか
- 20191112後編 invisible gemで可視性を変えずにパッチ当て、スライド:「型なし言語のための型」、自然言語の言語名を推測ほか
- 20191111前編 Active Recordモデルをprivateで封じ込める、心折れないRailsスキーマ管理、Railsセッションをクロスドメイン共有ほか
- 20191106後編 holiday_japan gemで日本の祝日判定、小さい関数が有害になるとき、Gitブランチのファジー検索ほか
- 20191105前編 Rails 6のデフォルト設定解説、DHHも消したいaccepts_nested_attributes_for、スライド『実践Railsアプリケーション設計』ほか
- 20191029後編 Ruby 2.7.0-preview2、tapping_device gemとhumanize gem、平成Ruby会議ほか
- 20191028前編 RailsにSTI用メソッドsti_class_forとpolymorphic_class_forが追加、RuboCopを変更箇所だけにかけるgem、strftime書式生成サイトほか
- 20191021 Rails 6でhas_many関連の修正やSprockets 4.0対応、Shrine 3.0がリリース、Minitestスタイルガイドほか
- 20191015 スライド「Rails Performance issues and Solutions」を見る、dirtyに*_previously_was が追加、Sidekiq 6.0.1ほか
- 20191008後編 Ruby 2.7のInteger#[]でバイナリチェック、rubyzip gemは強力、13KBのJavaScriptゲームほか
- 20191001後編 RedisとRubyをつなぐredis-object gem、Fullstaq Rubyの新バージョン、COUNT(*)とCOUNT(1)の速度ほか
今週の主なニュースソース
ソースの表記されていない項目は独自ルート(TwitterやはてブやRSSやruby-jp Slackなど)です。