Class: Mutant::Subject::Method::Singleton

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

Overview

Singleton method subjects

Constant Summary collapse

NAME_INDEX =
1
SYMBOL =
'.'.freeze

Instance Method Summary collapse

Methods inherited from Mutant::Subject::Method

#expression, #name

Methods inherited from Mutant::Subject

#expression, #identification, #match_expressions, #mutations, #root, #source, #source_line, #source_path, #tests

Instance Method Details

#prepareself

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.

Prepare subject for mutation insertion

Returns:

  • (self)


27
28
29
30
# File 'lib/mutant/subject/method/singleton.rb', line 27

def prepare
  scope.singleton_class.send(:undef_method, name)
  self
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)


16
17
18
# File 'lib/mutant/subject/method/singleton.rb', line 16

def public?
  scope.singleton_class.public_method_defined?(name)
end