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/pipe.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/world.rb,
lib/mutant/config.rb,
lib/mutant/loader.rb,
lib/mutant/parser.rb,
lib/mutant/procto.rb,
lib/mutant/result.rb,
lib/mutant/runner.rb,
lib/mutant/context.rb,
lib/mutant/license.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/ast/regexp.rb,
lib/mutant/expression.rb,
lib/mutant/repository.rb,
lib/mutant/ast/pattern.rb,
lib/mutant/cli/command.rb,
lib/mutant/integration.rb,
lib/mutant/runner/sink.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/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/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/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/ast/meta/resbody.rb,
lib/mutant/cli/command/root.rb,
lib/mutant/cli/command/util.rb,
lib/mutant/integration/null.rb,
lib/mutant/meta/example/dsl.rb,
lib/mutant/require_highjack.rb,
lib/mutant/segment/recorder.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/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/expression/methods.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/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/ast/node_predicates.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/kwargs.rb,
lib/mutant/mutator/node/module.rb,
lib/mutant/mutator/node/nthref.rb,
lib/mutant/mutator/node/regexp.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/reporter/cli/format.rb,
lib/mutant/selector/expression.rb,
lib/mutant/expression/namespace.rb,
lib/mutant/license/subscription.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/mutator/node/and_asgn.rb,
lib/mutant/mutator/node/argument.rb,
lib/mutant/mutator/node/numblock.rb,
lib/mutant/ast/regexp/transformer.rb,
lib/mutant/expression/descendants.rb,
lib/mutant/mutator/node/arguments.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/subject/method/instance.rb,
lib/mutant/cli/command/subscription.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/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/ast/regexp/transformer/root.rb,
lib/mutant/ast/regexp/transformer/text.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/integer.rb,
lib/mutant/ast/find_metaclass_containing.rb,
lib/mutant/ast/regexp/transformer/direct.rb,
lib/mutant/mutator/node/conditional_loop.rb,
lib/mutant/mutator/node/send/conditional.rb,
lib/mutant/reporter/cli/printer/mutation.rb,
lib/mutant/cli/command/environment/subject.rb,
lib/mutant/license/subscription/commercial.rb,
lib/mutant/license/subscription/opensource.rb,
lib/mutant/mutator/node/match_current_line.rb,
lib/mutant/mutator/node/named_value/access.rb,
lib/mutant/mutator/node/regexp/named_group.rb,
lib/mutant/reporter/cli/printer/env_result.rb,
lib/mutant/ast/regexp/transformer/recursive.rb,
lib/mutant/mutator/node/regexp/zero_or_more.rb,
lib/mutant/ast/regexp/transformer/quantifier.rb,
lib/mutant/mutator/node/regexp/capture_group.rb,
lib/mutant/reporter/cli/printer/env_progress.rb,
lib/mutant/ast/regexp/transformer/named_group.rb,
lib/mutant/mutator/node/regexp/character_type.rb,
lib/mutant/reporter/cli/printer/subject_result.rb,
lib/mutant/ast/regexp/transformer/options_group.rb,
lib/mutant/mutator/node/regexp/alternation_meta.rb,
lib/mutant/reporter/cli/printer/coverage_result.rb,
lib/mutant/reporter/cli/printer/mutation_result.rb,
lib/mutant/reporter/cli/printer/isolation_result.rb,
lib/mutant/mutator/node/regexp/end_of_line_anchor.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,
lib/mutant/mutator/node/regexp/beginning_of_line_anchor.rb,
lib/mutant/mutator/node/regexp/end_of_string_or_before_end_of_line_anchor.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

Defined Under Namespace

Modules: Bootstrap, CLI, License, Meta, Parallel, Procto, Range, Repository, RequireHighjack, Result, Runner, Util Classes: AST, Config, Context, Env, Expression, Hooks, Integration, Isolation, Loader, Matcher, Mutation, Mutator, Parser, Pipe, Registry, Reporter, Scope, Segment, Selector, Subject, Test, Timer, Transform, 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.

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.

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.

Unparser::Anima
Concord =

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.

Unparser::Concord
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.

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.

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.

''
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.

[].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.

{}.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.

'::'
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.

/\A(?<key>#{env_key}+)=(?<value>.*)\z/.freeze
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.

/\A#{env_key}\z/.freeze
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.

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:              recorder,
  stderr:                $stderr,
  stdout:                $stdout,
  thread:                Thread,
  timer:                 timer
)
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

'0.11.17'

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.



377
378
379
380
381
382
383
384
385
# File 'lib/mutant.rb', line 377

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