Module: Mutant Private

Defined in:
lib/mutant.rb,
lib/mutant/ast.rb,
lib/mutant/cli.rb,
lib/mutant/env.rb,
lib/mutant/meta.rb,
lib/mutant/test.rb,
lib/mutant/util.rb,
lib/mutant/hooks.rb,
lib/mutant/range.rb,
lib/mutant/scope.rb,
lib/mutant/timer.rb,
lib/mutant/usage.rb,
lib/mutant/world.rb,
lib/mutant/config.rb,
lib/mutant/loader.rb,
lib/mutant/parser.rb,
lib/mutant/procto.rb,
lib/mutant/result.rb,
lib/mutant/context.rb,
lib/mutant/matcher.rb,
lib/mutant/mutator.rb,
lib/mutant/segment.rb,
lib/mutant/subject.rb,
lib/mutant/version.rb,
lib/mutant/ast/meta.rb,
lib/mutant/ast/sexp.rb,
lib/mutant/mutation.rb,
lib/mutant/parallel.rb,
lib/mutant/registry.rb,
lib/mutant/reporter.rb,
lib/mutant/selector.rb,
lib/mutant/variable.rb,
lib/mutant/ast/nodes.rb,
lib/mutant/ast/types.rb,
lib/mutant/bootstrap.rb,
lib/mutant/isolation.rb,
lib/mutant/transform.rb,
lib/mutant/zombifier.rb,
lib/mutant/expression.rb,
lib/mutant/repository.rb,
lib/mutant/ast/pattern.rb,
lib/mutant/cli/command.rb,
lib/mutant/context_map.rb,
lib/mutant/integration.rb,
lib/mutant/log_capture.rb,
lib/mutant/result/test.rb,
lib/mutant/test/runner.rb,
lib/mutant/matcher/null.rb,
lib/mutant/meta/example.rb,
lib/mutant/mutator/node.rb,
lib/mutant/mutator/util.rb,
lib/mutant/reporter/cli.rb,
lib/mutant/ast/meta/send.rb,
lib/mutant/ast/structure.rb,
lib/mutant/matcher/chain.rb,
lib/mutant/matcher/scope.rb,
lib/mutant/parallel/pipe.rb,
lib/mutant/reporter/null.rb,
lib/mutant/selector/null.rb,
lib/mutant/ast/meta/const.rb,
lib/mutant/isolation/fork.rb,
lib/mutant/isolation/none.rb,
lib/mutant/matcher/config.rb,
lib/mutant/matcher/filter.rb,
lib/mutant/matcher/method.rb,
lib/mutant/matcher/static.rb,
lib/mutant/mutator/regexp.rb,
lib/mutant/result/session.rb,
lib/mutant/subject/config.rb,
lib/mutant/subject/method.rb,
lib/mutant/ast/meta/optarg.rb,
lib/mutant/ast/meta/symbol.rb,
lib/mutant/matcher/methods.rb,
lib/mutant/mutation/config.rb,
lib/mutant/mutation/runner.rb,
lib/mutant/mutator/node/if.rb,
lib/mutant/parallel/driver.rb,
lib/mutant/parallel/source.rb,
lib/mutant/parallel/worker.rb,
lib/mutant/repository/diff.rb,
lib/mutant/transform/codec.rb,
lib/mutant/ast/meta/resbody.rb,
lib/mutant/cli/command/root.rb,
lib/mutant/cli/command/util.rb,
lib/mutant/config/selection.rb,
lib/mutant/integration/null.rb,
lib/mutant/meta/example/dsl.rb,
lib/mutant/require_highjack.rb,
lib/mutant/result/exception.rb,
lib/mutant/segment/recorder.rb,
lib/mutant/test/runner/sink.rb,
lib/mutant/ast/pattern/lexer.rb,
lib/mutant/ast/pattern/token.rb,
lib/mutant/expression/method.rb,
lib/mutant/expression/parser.rb,
lib/mutant/expression/source.rb,
lib/mutant/matcher/namespace.rb,
lib/mutant/mutator/node/case.rb,
lib/mutant/mutator/node/mlhs.rb,
lib/mutant/mutator/node/next.rb,
lib/mutant/mutator/node/noop.rb,
lib/mutant/mutator/node/send.rb,
lib/mutant/mutator/node/when.rb,
lib/mutant/reporter/sequence.rb,
lib/mutant/ast/named_children.rb,
lib/mutant/ast/pattern/parser.rb,
lib/mutant/ast/pattern/source.rb,
lib/mutant/context_map/loader.rb,
lib/mutant/expression/methods.rb,
lib/mutant/mutation/operators.rb,
lib/mutant/mutator/node/begin.rb,
lib/mutant/mutator/node/block.rb,
lib/mutant/mutator/node/break.rb,
lib/mutant/mutator/node/class.rb,
lib/mutant/mutator/node/const.rb,
lib/mutant/mutator/node/guard.rb,
lib/mutant/mutator/node/index.rb,
lib/mutant/mutator/node/masgn.rb,
lib/mutant/mutator/node/splat.rb,
lib/mutant/mutator/node/super.rb,
lib/mutant/mutator/node/yield.rb,
lib/mutant/mutator/util/array.rb,
lib/mutant/result/json_writer.rb,
lib/mutant/ast/node_predicates.rb,
lib/mutant/cli/command/session.rb,
lib/mutant/isolation/exception.rb,
lib/mutant/matcher/descendants.rb,
lib/mutant/mutator/node/binary.rb,
lib/mutant/mutator/node/define.rb,
lib/mutant/mutator/node/ensure.rb,
lib/mutant/mutator/node/kwargs.rb,
lib/mutant/mutator/node/module.rb,
lib/mutant/mutator/node/nthref.rb,
lib/mutant/mutator/node/regopt.rb,
lib/mutant/mutator/node/rescue.rb,
lib/mutant/mutator/node/return.rb,
lib/mutant/mutator/node/sclass.rb,
lib/mutant/mutator/node/zsuper.rb,
lib/mutant/mutator/util/symbol.rb,
lib/mutant/parallel/connection.rb,
lib/mutant/reporter/cli/format.rb,
lib/mutant/selector/expression.rb,
lib/mutant/expression/namespace.rb,
lib/mutant/mutation/runner/sink.rb,
lib/mutant/mutator/node/defined.rb,
lib/mutant/mutator/node/generic.rb,
lib/mutant/mutator/node/kwbegin.rb,
lib/mutant/mutator/node/literal.rb,
lib/mutant/mutator/node/op_asgn.rb,
lib/mutant/mutator/node/or_asgn.rb,
lib/mutant/mutator/node/resbody.rb,
lib/mutant/reporter/cli/printer.rb,
lib/mutant/selector/context_map.rb,
lib/mutant/mutator/node/and_asgn.rb,
lib/mutant/mutator/node/argument.rb,
lib/mutant/mutator/node/numblock.rb,
lib/mutant/result/process_status.rb,
lib/mutant/expression/descendants.rb,
lib/mutant/mutator/node/arguments.rb,
lib/mutant/mutator/node/match_alt.rb,
lib/mutant/repository/diff/ranges.rb,
lib/mutant/cli/command/environment.rb,
lib/mutant/matcher/method/instance.rb,
lib/mutant/mutator/node/block_pass.rb,
lib/mutant/mutator/node/case_match.rb,
lib/mutant/mutator/node/in_pattern.rb,
lib/mutant/subject/method/instance.rb,
lib/mutant/config/coverage_criteria.rb,
lib/mutant/matcher/method/metaclass.rb,
lib/mutant/matcher/method/singleton.rb,
lib/mutant/mutator/node/literal/nil.rb,
lib/mutant/mutator/node/send/binary.rb,
lib/mutant/reporter/cli/printer/env.rb,
lib/mutant/subject/method/metaclass.rb,
lib/mutant/subject/method/singleton.rb,
lib/mutant/meta/example/verification.rb,
lib/mutant/mutator/node/literal/hash.rb,
lib/mutant/mutator/node/procarg_zero.rb,
lib/mutant/reporter/cli/printer/test.rb,
lib/mutant/reporter/cli/progress_bar.rb,
lib/mutant/mutator/node/const_pattern.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/cli/command/environment/irb.rb,
lib/mutant/cli/command/environment/run.rb,
lib/mutant/mutator/node/literal/string.rb,
lib/mutant/mutator/node/literal/symbol.rb,
lib/mutant/reporter/cli/printer/config.rb,
lib/mutant/cli/command/environment/show.rb,
lib/mutant/cli/command/environment/test.rb,
lib/mutant/mutator/node/dynamic_literal.rb,
lib/mutant/mutator/node/literal/boolean.rb,
lib/mutant/mutator/node/literal/complex.rb,
lib/mutant/mutator/node/literal/integer.rb,
lib/mutant/mutator/node/match_pattern_p.rb,
lib/mutant/ast/find_metaclass_containing.rb,
lib/mutant/mutator/node/conditional_loop.rb,
lib/mutant/mutator/node/literal/rational.rb,
lib/mutant/mutator/node/send/conditional.rb,
lib/mutant/reporter/cli/printer/mutation.rb,
lib/mutant/cli/command/environment/subject.rb,
lib/mutant/mutator/node/match_current_line.rb,
lib/mutant/mutator/node/named_value/access.rb,
lib/mutant/reporter/cli/printer/env_result.rb,
lib/mutant/reporter/cli/printer/env_progress.rb,
lib/mutant/reporter/cli/printer/alive_results.rb,
lib/mutant/reporter/cli/printer/subject_result.rb,
lib/mutant/reporter/cli/printer/isolation_result.rb,
lib/mutant/mutator/node/send/attribute_assignment.rb,
lib/mutant/reporter/cli/printer/status_progressive.rb,
lib/mutant/mutator/node/named_value/constant_assignment.rb,
lib/mutant/mutator/node/named_value/variable_assignment.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Library namespace

rubocop:disable Metrics/ModuleLength

API:

  • private

Defined Under Namespace

Modules: Bootstrap, CLI, Meta, Parallel, Procto, Range, Repository, RequireHighjack, Result, Util Classes: AST, Config, Context, ContextMap, Env, Expression, Hooks, Integration, Isolation, Loader, LogCapture, Matcher, Mutation, Mutator, Parser, Registry, Reporter, Scope, Segment, Selector, Subject, Test, Timer, Transform, Usage, Variable, World, Zombifier

Constant Summary collapse

AbstractType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

Unparser::AbstractType
Adamantium =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

Unparser::Adamantium
Anima =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

Unparser::Anima
Either =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

Unparser::Either
Equalizer =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

Unparser::Equalizer
EMPTY_STRING =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

''
EMPTY_ARRAY =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

[].freeze
EMPTY_HASH =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

{}.freeze
SCOPE_OPERATOR =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

'::'
ENV_VARIABLE_KEY_VALUE_REGEXP =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

/\A(?<key>#{env_key}+)=(?<value>.*)\z/
ENV_VARIABLE_KEY_REGEXP =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

/\A#{env_key}\z/
WORLD =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

API:

  • private

World.new(
  condition_variable:    ConditionVariable,
  environment_variables: ENV,
  gem:                   Gem,
  gem_method:            method(:gem),
  io:                    IO,
  json:                  JSON,
  kernel:                Kernel,
  load_path:             $LOAD_PATH,
  marshal:               Marshal,
  mutex:                 Mutex,
  object_space:          ObjectSpace,
  open3:                 Open3,
  pathname:              Pathname,
  process:               Process,
  random:                Random,
  recorder:,
  stderr:                $stderr,
  stdout:                $stdout,
  tempfile:              Tempfile,
  thread:                Thread,
  time:                  Time,
  timer:
)
SESSION_ID =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

UUIDv7 identifying this mutant process invocation. Used as the JSON result filename and session identifier.

API:

  • private

SecureRandom.uuid_v7
VERSION =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Current mutant version

API:

  • private

Pathname
.new(__dir__)
.parent
.parent
.join('VERSION')
.read
.chomp
.freeze

Class Method Summary collapse

Class Method Details

.traverse(action, values) ⇒ 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.

Traverse values against action

Specialized to Either. Its always traverse.

API:

  • private



393
394
395
396
397
398
399
400
401
# File 'lib/mutant.rb', line 393

def self.traverse(action, values)
  Either::Right.new(
    values.map do |value|
      action.call(value).from_right do |error|
        return Either::Left.new(error)
      end
    end
  )
end