rastam on rails

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

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

rubyweekly.com

Highlights

Building GitHub-Style 'Hovercards' with Stimulus and HTML-Over-The-Wire

Stimulus で Hovercard 機能実装手順。

  1. ビューに data 属性埋め込む
  2. どんな Hovercard でも取得できる汎用化 Stimulus コントローラ実装。
  3. Rails コントローラ・ビュー実装。
  4. Hovercard 吹き出しの尻尾を CSS で実装。

Factory Bot 6.0: A Library for Setting Up Ruby Objects as Test Data

enumtraits_for_enum 機能が追加された Factory Bot

Rails 6.0.3.2 Released

Rails セキュリティパッチ。

An Introduction to Web Scraping with Ruby

静的ウェブページをクローリングする場合

  1. Net::HTTP、HTTParty、open-uri などの HTTP クライアントでリクエスト発行。
  2. Nokogiri で HTML パース。

SPA などの動的ウェブページは、Kimurai フレームワーク + Selenium Chrome

The AWS SDK for Ruby v2 End of Life Dates Announced

AWSSDK v2 は 2021 年 11 月サポート終了。

Articles & Tutorials

Postgres Indexes for ActiveRecord Join Tables in Rails Apps

PostgreSQL での JOIN テーブル作成。

  • HABTM、create_join_table migration は非推奨。PK なしの拡張しづらいテーブルを作ってしまうから。
  • 複合インデックス 1 つだけで十分。

A Look at Ruby 2.7's Enumerable#filter_map

Enumerable#select + Enumerable#map = Ruby 2.7 の Enumerable#filter_map

Considering Rails Multitenancy in 2020

メンテされなくなった apartment gem から activerecord-multi-tenant に移行する手順。おまけに Carrierwave 添付画像の移行手順。

Graceful Request Retries in Ruby Applications

処理失敗時の再実行方法まとめ。

  • retry キーワード
  • retriable gem
  • Sidekiq や Resque の retry 設定
  • 各ツールの独自エラー処理

Build an App with Active Record + CockroachDB

CockroachDB の ActiveRecord アダプター。

Rails Architecture Tips From Route Helpers

7 つの CRUD アクション以外のアクションを生やすと、名詞_動詞 のキモいパスヘルパーができてしまう。ネストしたリソース切ろというヒントでもある。

Code and Tools

Comma: A CSV Generation Extension for Ruby Objects

配列や ActiveRecord オブジェクトから CSV を生成してくれる gem。

EBNF: An EBNF Parser and Generic Parser Generator

EBNF パース用 gem。