Method: Spec::Example::PredicateMatchers#predicate_matchers

Defined in:
lib/spec/example/predicate_matchers.rb

#predicate_matchersObject

:call-seq:

predicate_matchers[matcher_name] = method_on_object
predicate_matchers[matcher_name] = [method1_on_object, method2_on_object]

Dynamically generates a custom matcher that will match a predicate on your class. RSpec provides a couple of these out of the box:

exist (for state expectations)
  File.should exist("path/to/file")

an_instance_of (for mock argument matchers)
  mock.should_receive(:message).with(an_instance_of(String))

Examples

class Fish
  def can_swim?
    true
  end
end

describe Fish do
  predicate_matchers[:swim] = :can_swim?
  it "should swim" do
    Fish.new.should swim
  end
end

32
33
34
# File 'lib/spec/example/predicate_matchers.rb', line 32

def predicate_matchers
  @predicate_matchers ||= Spec::HashWithDeprecationNotice.new("predicate_matchers", "the new Matcher DSL")
end