Class: Mutant::Subject::Method

Inherits:
Mutant::Subject show all
Defined in:
lib/mutant/subject/method.rb,
lib/mutant/subject/method/instance.rb,
lib/mutant/subject/method/singleton.rb

Overview

Abstract base class for method subjects

Direct Known Subclasses

Instance, Singleton

Defined Under Namespace

Classes: Instance, Singleton

Instance Method Summary collapse

Methods inherited from Mutant::Subject

#identification, #mutations, #prepare, #source, #source_line, #source_lines, #source_path

Instance Method Details

#expressionString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return match expression

Returns:

  • (String)

30
31
32
# File 'lib/mutant/subject/method.rb', line 30

def expression
  Expression.parse("#{context.identification}#{self.class::SYMBOL}#{name}")
end

#match_expressionsArray<Expression>

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return match expressions

Returns:


41
42
43
# File 'lib/mutant/subject/method.rb', line 41

def match_expressions
  [expression].concat(context.match_expressions)
end

#nameSymbol

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return method name

Returns:

  • (Symbol)

20
21
22
# File 'lib/mutant/subject/method.rb', line 20

def name
  node.children[self.class::NAME_INDEX]
end

#public?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Test if method is public

Returns:

  • (Boolean)

12
# File 'lib/mutant/subject/method.rb', line 12

abstract_method :public?