Ruby Weekly #409: 日本語サマリー
職場の Slack 窓で Ruby Weekly メルマガが毎週配信されます。その中から面白そうなものをピックアップして、日本語で簡単なサマリーを書くようにしています。そのサマリーをここでまとまさせていただきます。くだけた日本語で失礼いたします。
http://rubyweekly.com/issues/409rubyweekly.com
Highlights
認可用 Pundit gem は v2.0 リリース!
グローバルメソッドキャッシュいろいろ。
- メソッドの定義元クラス・モジュールをマッピングするキャッシュ。定義元を毎回評価するのにコストがかかるから。
RUBY_GLOBAL_METHOD_CACHE_SIZE
環境変数でキャッシュするメソッドの数を指定(デフォ 2048)。- メソッド数増やしても高速化は 2%〜3% しかない。
ダミーデータ生成用 gem。
Articles & Tutorials
fie フレームワークで ActiveJob の進捗をプログレスバーとして表示。
Sinatra アプリで pundit gem を使う手順。
ファイル名、行番号を返してくれる、Ruby 2.6 の Binding#source_location
。
コミット対象の .gemrc の中の認証トークンなどを隠す方法。
コアメソッドに可読性向上の拡張をしてくれた pretty_ruby gem。拡張はモンキーパッチではなく、安心安全な refinement で。
.map { |x| x.join('-') }
を.map(:join, '-')
に.map { |x| x.next.upcase }
を.map(:next >> :upcase)
に.reduce(['']) { |m, x| m << m.last + x }.drop(1)
を.scan
に#take
#drop
のマイナス引数対応
Rails 開発者必読の書籍 11 冊。
- Clean Code (和訳あり)
- 達人プログラマー (和訳あり)
- Ruby のしくみ (和訳あり)
- Eloquent Ruby (英語のみ)
- オブジェクト指向設計実践ガイド (和訳あり)
- リファクタリング:Rubyエディション (和訳あり)
- The Rails Way (英語のみ)
- Rebuilding Rails (英語のみ)
- Crafting Rails 4 Applications (英語のみ)
- Confident Ruby (英語のみ)
Code & Tools
CLI で四角い枠を描画してくれる gem。
FastJsonapi: A Super-Fast JSON:API Serializer for Ruby Objects
v1.3 がリリースされた高速 JSON:API シリアライズ用 gem。
カバー率測定で、修正したファイルの関連 RSpec テストを特定してくれる gem。
OpenStreetMap API クライアント gem。
Terraforming: Export Existing AWS Resources to Terraform Style
既存の AWS リソースを元に Terraform 用 .tf、.tfstate 設定を生成してくれる gem。