Skip to content

Instantly share code, notes, and snippets.

@myronmarston
Created February 13, 2018 05:47

Revisions

  1. myronmarston created this gist Feb 13, 2018.
    19 changes: 19 additions & 0 deletions increment_and_decrement.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,19 @@
    module IncrementAndDecrement
    def increment(&block)
    matcher = change(&block).by(1)
    RSpec::Matchers::AliasedMatcher.new(matcher, lambda do |desc|
    desc.gsub("changed", "incremented").gsub("change", "increment")
    end)
    end

    def decrement(&block)
    matcher = change(&block).by(-1)
    RSpec::Matchers::AliasedMatcher.new(matcher, lambda do |desc|
    desc.gsub("changed", "decremented").gsub("change", "decrement").gsub("-", "")
    end)
    end
    end

    RSpec.configure do |c|
    c.include IncrementAndDecrement
    end