Converting "foo *= /bar/" to a RegexpMatcher was just plain wrong. Each type of RHS should have it own subclass of RegexpMatcher.
All values passed to symbol_value are strings already.
This is in line with other *_value functions that always return an instance of the corresponding type.
Add missing testcase.
Remove a duplicate testcase and add a missing one.
It makes no sense to implement #matches? in RegexpMatcher when it is reimplemented in its sublasses.
It seems this just duplicated other tests (it didn't test anything new).
This is mainly for documentation purposes. Now we will be able to say that the second param of Machete#matches? and Machete#find can be a Machete::Matchers::Matcher instance.
This is needed because Machete#matches? and Machete#find support compiled patterns now.
It was stupid that Machete#find supported compiled patterns but Machete#matches? did not.
Simpler, more DRY, will allow for private methods.
Gives both string and compiled patters equal coverage.
This gives us an error message when racc fails.