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

API:

  • private

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:

API:

  • private



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:

API:

  • private



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:

API:

  • private



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

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