rastam on rails

東京在住のマレーシア人 Rubyist

Ruby Weekly #479: 日本語サマリー

rubyweekly.com

Highlights

Ruby 2.7 Adds Shorthand Syntax for Argument Forwarding

メソッドの引数を全部そのまま他のメソッドに渡せるようになる、Ruby 2.7 の ...

Main Takeaways From Matz's RubyConf 2019 Keynote

Matz の RubyConf 2019 キーノートあらすじ。

  • Ruby の第一優先はプログラマーの幸せ。
  • Matz は型アノテーション反対派なので、Ruby コアで実装されるのを期待しないほうがいい。どうしても欲しいという人は Sorbet。
  • Ruby 3 は来年 12 月リリース予定。
  • Ruby 2.7 新機能紹介。

Articles & Tutorials

Using Rubyfmt with Atom

Rubyfmt コードフォーマッターを Atom で使う手順。

Ruby Literals You May Not Know

知られざるリテラル

  • 分数用 Rationalr
  • 複素数Complexi
  • 文字列用 %
  • char 用 ?
  • 無限 Range..

From ActiveRecord Callbacks to Publish/Subscribe Pattern and Event-driven Design

Wisper gem でコールバックを pub/sub に移行することで ActiveRecord モデルの責務を減らす話。

Overpacking.. A Common Webpacker Mistake

webpack の precompile を重くする overpacking アンチパターン(packs 配下に application.js 以外のファイルを置くこと)。

raise Exception.new or raise Exception? They're The Same

raise Exception.newraise Exception が全く同じことの背景にある実装のコードリーディング。

Code and Tools

Strings::Inflection: Convert Between Singular and Plural Forms of English Nouns

英単語の単数形⇆複数形変換用 gem。

ImageProcessing: High-Level Image Processing Wrapper for Libvips and ImageMagick

ImageMagick、Libvips と併用できる画像処理 gem。

Statesman: A State Machine Library

ActiveRecord モデルに密結合してないことに拘るステートマシン用 gem。

Grape: An Opinionated Framework for Creating REST-like APIs

REST APIフレームワークの v1.2.5 リリース。

ProgressBar: A Progress Bar for Your Terminal Apps

CLI プログレスバー描画用 gem。

Rack::Cors: Rack Middleware for Handling Cross-Origin Resource Sharing (CORS)

CORS 対策用 Rack ミドルウェアの v1.1.0 リリース。

excon 0.70.0: A Fast, Simple HTTP 1.1 Client for Ruby

軽量 HTTP クライアント gem。