RSpecで複数のchangeを利用する

and でチェインさせていくように書くと良さそう。

it '複数のchangeを見るぞ' do
  expect { subject }.to change { x }.by(1).
                    and change { y }.by(2)
end

ref. RSpec 1つのexpectで複数のchangeを検証する - Qiita

ActiveRecordのいい感じのID判定

下記の記事を見た。

Identifying the objects in the Ruby way

下記のコードでいい感じにIDの判定コードを実装できる。

module Identification
  extend ActiveSupport::Concern

  COMPANY_MAPPING = {
    "apple" => 1234,
    "facebook" => 321,
    "google" => 3471
  }.freeze

  included do
    def is?(company_name)
      COMPANY_MAPPING[company_name.to_s] == id
    end
  end
end
if company.is?(:apple)
  do_someting_extra
end