Class: Mutant::Mutator

Inherits:
Object
  • Object
show all
Includes:
AbstractType, Adamantium::Flat
Defined in:
lib/mutant/mutator.rb,
lib/mutant/mutator/node.rb,
lib/mutant/mutator/util.rb,
lib/mutant/mutator/node/if.rb,
lib/mutant/mutator/registry.rb,
lib/mutant/mutator/node/noop.rb,
lib/mutant/mutator/node/send.rb,
lib/mutant/mutator/node/when.rb,
lib/mutant/mutator/node/block.rb,
lib/mutant/mutator/node/super.rb,
lib/mutant/mutator/node/while.rb,
lib/mutant/mutator/util/array.rb,
lib/mutant/mutator/node/define.rb,
lib/mutant/mutator/node/return.rb,
lib/mutant/mutator/util/symbol.rb,
lib/mutant/mutator/node/iter_19.rb,
lib/mutant/mutator/node/literal.rb,
lib/mutant/mutator/node/assignment.rb,
lib/mutant/mutator/node/literal/nil.rb,
lib/mutant/mutator/node/literal/hash.rb,
lib/mutant/mutator/node/literal/array.rb,
lib/mutant/mutator/node/literal/float.rb,
lib/mutant/mutator/node/literal/range.rb,
lib/mutant/mutator/node/literal/regex.rb,
lib/mutant/mutator/node/receiver_case.rb,
lib/mutant/mutator/node/literal/fixnum.rb,
lib/mutant/mutator/node/literal/string.rb,
lib/mutant/mutator/node/literal/symbol.rb,
lib/mutant/mutator/node/literal/boolean.rb,
lib/mutant/mutator/node/literal/dynamic.rb,
lib/mutant/mutator/node/actual_arguments.rb,
lib/mutant/mutator/node/pattern_variable.rb,
lib/mutant/mutator/node/default_arguments.rb,
lib/mutant/mutator/node/pattern_arguments.rb,
lib/mutant/mutator/node/formal_arguments_19.rb,
lib/mutant/mutator/node/literal/empty_array.rb,
lib/mutant/mutator/node/send/with_arguments.rb,
lib/mutant/mutator/node/send/binary_operator_method.rb,
lib/mutant/mutator/node/formal_arguments_19/require_defaults.rb,
lib/mutant/mutator/node/formal_arguments_19/default_mutations.rb,
lib/mutant/mutator/node/formal_arguments_19/pattern_argument_expansion.rb

Overview

Generator for mutations

Direct Known Subclasses

Node, Util

Defined Under Namespace

Modules: Registry Classes: Node, Util

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#inputObject (readonly)

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.

Return input

Returns:

  • (Object)


53
54
55
# File 'lib/mutant/mutator.rb', line 53

def input
  @input
end

Class Method Details

.each(input, &block) ⇒ 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.

Run mutator on input

Parameters:

  • input (Object)
  • block (#call)

Returns:

  • (self)


15
16
17
18
19
20
# File 'lib/mutant/mutator.rb', line 15

def self.each(input, &block)
  return to_enum(__method__, input) unless block_given?
  Registry.lookup(input.class).new(input, block)

  self
end

.identity(object) ⇒ Object

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.

Return identity of object (for deduplication)

Parameters:

  • object (Object)

Returns:

  • (Object)


43
44
45
# File 'lib/mutant/mutator.rb', line 43

def self.identity(object)
  object
end