Class: Mutant::Subject::Method::Instance
- Inherits:
-
Mutant::Subject::Method
- Object
- Mutant::Subject
- Mutant::Subject::Method
- Mutant::Subject::Method::Instance
- Defined in:
- lib/mutant/subject/method/instance.rb
Overview
Instance method subjects
Direct Known Subclasses
Defined Under Namespace
Classes: Memoized
Constant Summary collapse
- NAME_INDEX =
0
- SYMBOL =
'#'.freeze
Instance Method Summary collapse
-
#prepare ⇒ self
private
Prepare subject for mutation insertion.
-
#public? ⇒ true, false
private
Test if method is public.
Methods inherited from Mutant::Subject::Method
Methods inherited from Mutant::Subject
#identification, #match_expression, #match_prefixes, #mutations, #original_root, #root, #source, #source_line, #source_path
Instance Method Details
#prepare ⇒ self
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
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/mutant/subject/method/instance.rb', line 33 def prepare expected_warnings = if name.equal?(:initialize) ["#{__FILE__}:#{__LINE__ + 5}: warning: undefining `initialize' may cause serious problems\n"] else [] end WarningExpectation.new(expected_warnings).execute do scope.send(:undef_method, name) end self end |
#public? ⇒ true, false
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
22 23 24 |
# File 'lib/mutant/subject/method/instance.rb', line 22 def public? scope.public_method_defined?(name) end |