rastam’s blog

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

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

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

http://rubyweekly.com/issues/410rubyweekly.com

Highlights

Stop Shipping Untested Ruby Code with Undercover

指定コミットの中に、テストのカバー率が足りないソースがないか検知してくれる undercover gem の機能紹介。

Generating Random Numbers in Ruby

乱数生成いろいろ。

  • rand
  • srandrand のシード指定
  • Random.rand
  • rubystats gem の Rubystats::NormalDistribution正規分布に従った乱数生成

Evaluating Scala and Sticking with Ruby

Scala で新規アプリ開発してみた REA 社が最終的に関数型 Ruby にした話。

  • 生産性向上を期待していたが、そこまで変わらなかった
  • パフォーマンスは確かに Scala 圧勝
  • 関数型プログラミングで保守性の改善を期待していたが、、ボイラープレートが多くて可読性暴落

Rails 5.2.1 RC 1 Released

Rails 5.2.1.rc1 リリース。Rails 5.2.1 は今日中にリリース予定。

Articles & Tutorials

Building a Testing Framework Similar to RSpec in Ruby

RSpec 風テストフレームワークの作り方。

Rails 5.2 Encrypted Credentials Cheat Cheat and Tips

Rails 5.2 Credentials 備忘録。

  • config/credentials.yml.enc はコミットしても OK
  • config/master.key はコミットするな!.gitignore、.dockerignore に入れること!
  • CI ログには RAILS_MASTER_KEY 環境変数を出すな!
  • キー変更手順

Ruby 2.6 Added Some Options to Exception#full_message

Ruby 2.6 で Exception#full_message に追加されたオプション引数まとめ。

  • highlightエスケープ文字を消す
  • order

Send Emails with Style in Rails

HTML メールの CSS をインライン style 属性として当ててくれる gem まとめ。

Ruby 2.6 Adds Option to Not Raise Exception for Integer and Float Methods

変換できない文字列を渡されたら ArgumentError を投げる Integer()Float() メソッドは、Ruby 2.6 以降、exception オプション引数で例外を抑えれるようになる。

Using Rails Encrypted Credentials with Docker

Docker で Rails Credentials を使う方法。

  • 開発用コンテナ上で rails credentials:edit が実行できるための設定
  • マスタキーの渡し方

Code & Tools

Undercover: Like RuboCop But For Code Coverage

指定コミットの中に、テストのカバー率が足りないソースがないか検知してくれる gem。

MiniI18n: Minimalistic Internationalization for Ruby

簡易 i18n 用 gem。

Orbacle: A Ruby 'Language Server' for Code Editors

vimemacsAtom などにコード補完やリファクター機能を提供してくれる Ruby 言語サーバ。