lib/mutant/matcher/method/singleton.rb in mutant-0.9.8 vs lib/mutant/matcher/method/singleton.rb in mutant-0.9.9
- old
+ new
@@ -23,45 +23,25 @@
NAME_INDEX = 1
RECEIVER_WARNING = 'Can only match :defs on :self or :const got %p unable to match'
private
- # Test for node match
- #
- # @param [Parser::AST::Node] node
- #
- # @return [Boolean]
def match?(node)
n_defs?(node) && line?(node) && name?(node) && receiver?(node)
end
- # Test for line match
- #
- # @param [Parser::AST::Node] node
- #
- # @return [Boolean]
def line?(node)
node
.location
.line
.equal?(source_line)
end
- # Test for name match
- #
- # @param [Parser::AST::Node] node
- #
- # @return [Boolean]
def name?(node)
node.children.fetch(NAME_INDEX).equal?(method_name)
end
- # Test for receiver match
- #
- # @param [Parser::AST::Node] node
- #
- # @return [Boolean]
def receiver?(node)
receiver = node.children.fetch(RECEIVER_INDEX)
case receiver.type
when :self
true
@@ -71,14 +51,9 @@
env.warn(RECEIVER_WARNING % receiver.type)
nil
end
end
- # Test if receiver name matches context
- #
- # @param [Parser::AST::Node] node
- #
- # @return [Boolean]
def receiver_name?(node)
name = node.children.fetch(NAME_INDEX)
name.to_s.eql?(context.unqualified_name)
end