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? ⇒ Boolean
private
Test if method is public.
Methods inherited from Mutant::Subject::Method
Methods inherited from Mutant::Subject
#expression, #identification, #match_expressions, #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
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/mutant/subject/method/instance.rb', line 27 def prepare expected_warnings = if RUBY_ENGINE.eql?('ruby') && 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? ⇒ 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
16 17 18 |
# File 'lib/mutant/subject/method/instance.rb', line 16 def public? scope.public_method_defined?(name) end |