Class: Mutant::Subject::Method Private

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

Overview

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

Abstract base class for method subjects

Direct Known Subclasses

Instance, Metaclass, Singleton

Defined Under Namespace

Classes: Instance, Metaclass, Singleton

Instance Method Summary collapse

Methods inherited from Mutant::Subject

#identification, #inline_disabled?, #mutations, #post_insert, #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.

Match expression

Returns:

  • (String)


19
20
21
22
23
24
25
# File 'lib/mutant/subject/method.rb', line 19

def expression
  Expression::Method.new(
    method_name:  name.to_s,
    scope_symbol: self.class::SYMBOL,
    scope_name:   scope.raw.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.

Match expressions

Returns:



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

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

#nameExpression

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.

Method name

Returns:



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

def name
  node.children.fetch(self.class::NAME_INDEX)
end