module Transpec::Syntax::Mixin::MatcherOwner::ClassMethods

Public Instance Methods

add_matcher(matcher_class) click to toggle source
# File lib/transpec/syntax/mixin/matcher_owner.rb, line 12
def add_matcher(matcher_class)
  accessor = "#{matcher_class.snake_case_name}_matcher"
  ivar = "@#{accessor}"

  define_method(accessor) do
    return instance_variable_get(ivar) if instance_variable_defined?(ivar)
    matcher = matcher_class.new(
      matcher_node, self, runtime_data, project, source_rewriter, report
    )
    instance_variable_set(ivar, matcher)
  end

  matcher_accessors << accessor
end
matcher_accessors() click to toggle source
# File lib/transpec/syntax/mixin/matcher_owner.rb, line 27
def matcher_accessors
  @matcher_accessors ||= []
end