rastam’s blog

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

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

職場の Slack 窓で Ruby Weekly メルマガが毎週配信されます。その中から面白そうなものをピックアップして、日本語で簡単なサマリーを書くようにしています。そのサマリーをここでまとまさせていただきます。くだけた日本語で失礼いたします。

http://rubyweekly.com/issues/403rubyweekly.com

Highlights

Arel with Wharel: Virtual Rows for Active Record

Arel を書きやすくしてくれる超シンプルな Wharel gem を実装した経緯。APISequel に似ているが、ソースは 31 行しかない!

From ActiveRecord to Diesel (and Rust)

Rust に挑戦した Rubyistシンタックス、パッケージマネージャ、ORM など比較した話。

Adding Automated Speech Recognition for Phone Calls to Rails

Rails + Twilio で音声認識サービスを実装する手順。<Gather> の TwiML でユーザの声を文字列に変換し、指定エンドポイントに転送。

Tutorials

How to Write a Bundler Plugin

Bundler プラグイン開発・適用手順。プラグインでできることは:

Quick Tips for a Practical Rubocop Workflow

Rubocop 活用戦略。

  • オススメの初期設定
  • エディター連携
  • autocorrect 駆使
  • pre-commit フック設置

Simple Shortcuts to Get More Out of Bundler

筆者の便利な Bundler ショートカット集。

  • bundle info
  • gem をエディターで開く bundle open
  • gem 内ソース検索

Using GraphQL with Rails

graphql gem で Rails 上の GraphQL API 実装。

  • Types::QueryType でデータ取得用 API 定義
  • Types::MutationType でデータ書き込み用 API 定義
  • graphql-preload gem で N+1 撲滅
  • 開発環境のブラウザー上 UI でクエリ検証

Quick Tip: Use Beginnings and Ends of Strings in Regular Expressions

正規表現の文頭・文末は ^ $ ではなく \A \z を使う理由。

Code & Tools

Sho: An Experimental 'Post-Framework' View Library

ディレクトリなどのフレームワーク規約に拘束されないビュー用ライブラリ。テンプレートへのマッピング定義用 DSL でビュー描画メソッドを生やす。

Wallaby: A Rails Engine for Managing Data/Admin Interface

管理画面用 Rails Engine。