RSpec::Matchers.define :increment do |counter| match do |adapter| expect(adapter.send(counter)) .to receive(:increment) .exactly(@exactly || :once) end chain :twice do @exactly = :twice end end