module ArgumentSpecification::DSL::Matchers
Public Class Methods
register(klass, name)
click to toggle source
Register a matcher
Arguments:
klass: (ArgumentSpecification::Matchers::BaseMatcher) name: (Symbol)
Example:
>> Matchers.register(TestMatcher, :test_matcher) => true
# File lib/argspec/dsl/matchers.rb, line 15 def register(klass, name) return unless klass.ancestors.include?(ArgumentSpecification::Matchers::BaseMatcher) return unless name.is_a?(Symbol) module_eval <<-EOS def #{name}(*args, &block) instance = #{klass}.new(*args) instance.send(:setup, '#{name}'.to_sym, args) instance.send(:block=, block) if block_given? instance end EOS end