rspec/rspec-expectations — pull request #272 by hugobarauna (2013-06-16 18:34:41+00:00)
Title: Bugfix: makes possible to use RSpec::Matchers#include inside a custom matcher definition

This PR introduces a bugfix. That bug was happening because `RSpec::Matchers::DSL::Matcher` has a `include` private method that was overriding the `include` method included from `RSpec::Matchers`. (I know, two much include words in just one phrase =p)

I got that problem while trying to write the following custom matcher:

```ruby
RSpec::Matchers.define :contain_products do |*products|
match do |category|
subcategories_products = category.subcategories.map { |sub|
sub.products
}
subcategories_products.flatten!

# calling include(*products) breaks here because it's actually calling
# Module#include instead of RSpec::Matchers#include
expect(subcategories_products).to include(*products)
end
end
```

I think this is a bug because it is part of the spec of `RSpec::Matchers::DSL::Matcher` to allow us to [use the built-in matchers inside a custom matcher definition](https://github.com/rspec/rspec-expectations/blob/master/spec/rspec/matchers/matcher_spec.rb#L319-L328).