module RSpec::Mocks::ArgumentMatchers

def hash_excluding(*args)

expect(object).to receive(:message).with(hash_excluding(:key, :key2 => :val2))
expect(object).to receive(:message).with(hash_excluding(:key))
expect(object).to receive(:message).with(hash_excluding(:key => val))
@example

Matches a hash that doesn't include the specified key(s) or key/value.
def hash_excluding(*args)
  HashExcludingMatcher.new(ArgumentMatchers.anythingize_lonely_keys(*args))
end