Rewrite with tap
Update rspec to 3.1.0
Convert specs to RSpec 3.1.7 syntax with Transpec

This conversion is done by Transpec 2.3.7 with the following command:
    transpec

* 68 conversions
    from: it { should ... }
      to: it { is_expected.to ... }

* 22 conversions
    from: obj.stub(:message)
      to: allow(obj).to receive(:message)

* 19 conversions
    from: it { should_not ... }
      to: it { is_expected.not_to ... }

* 14 conversions
    from: obj.should
      to: expect(obj).to

* 9 conversions
    from: == expected
      to: eq(expected)

* 6 conversions
    from: obj.should_receive(:message)
      to: expect(obj).to receive(:message)

* 4 conversions
    from: failure_message_for_should { }
      to: failure_message { }

* 2 conversions
    from: failure_message_for_should_not { }
      to: failure_message_when_negated { }

* 2 conversions
    from: lambda { }.should
      to: expect { }.to

* 2 conversions
    from: let(:name) { example }
      to: let(:name) { |example| example }

* 1 conversion
    from: lambda { }.should_not
      to: expect { }.not_to

For more details: https://github.com/yujinakayama/transpec#supported-conversions
Fix .with() to .with(no_args)