Module: RSpec::Matchers::DSL

Included in:
RSpec::Matchers
Defined in:
lib/rspec/matchers/dsl.rb,
lib/rspec/matchers/matcher.rb

Defined Under Namespace

Classes: Matcher

Instance Method Summary collapse

Instance Method Details

#define(name, &declarations) ⇒ Object Also known as: matcher

Defines a custom matcher.

See Also:



6
7
8
9
10
11
12
13
# File 'lib/rspec/matchers/dsl.rb', line 6

def define(name, &declarations)
  matcher_template = RSpec::Matchers::DSL::Matcher.new(name, &declarations)
  define_method name do |*expected|
    matcher = matcher_template.for_expected(*expected)
    matcher.matcher_execution_context = @matcher_execution_context ||= self
    matcher
  end
end