Module: Mutant Private

Defined in:
lib/mutant.rb,
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/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/result.rb,
lib/mutant/runner.rb,
lib/mutant/context.rb,
lib/mutant/license.rb,
lib/mutant/matcher.rb,
lib/mutant/mutator.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/warnings.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/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/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/method.rb,
lib/mutant/ast/meta/optarg.rb,
lib/mutant/ast/meta/symbol.rb,
lib/mutant/matcher/methods.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/integration/null.rb,
lib/mutant/meta/example/dsl.rb,
lib/mutant/require_highjack.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/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/mutator/node/binary.rb,
lib/mutant/mutator/node/define.rb,
lib/mutant/mutator/node/kwargs.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/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/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/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/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/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/mutator/node/conditional_loop.rb,
lib/mutant/mutator/node/send/conditional.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/reporter/cli/printer/env_result.rb,
lib/mutant/reporter/cli/printer/env_progress.rb,
lib/mutant/reporter/cli/printer/subject_result.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/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

Defined Under Namespace

Modules: AST, Bootstrap, CLI, License, Meta, Parallel, Range, Repository, RequireHighjack, Result, Runner, Util Classes: Config, Context, Env, Expression, Integration, Isolation, Loader, Matcher, Mutation, Mutator, Parser, Pipe, Registry, Reporter, Scope, Selector, Subject, Test, Timer, Transform, Warnings, World, Zombifier

Constant Summary collapse

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.

MPrelude::Either
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.

'::'
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,
  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,
  stderr:             $stderr,
  stdout:             $stdout,
  thread:             Thread,
  timer:              Timer.new(Process),
  warnings:           Warnings.new(Warning)
)
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.10.22'

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.



255
256
257
258
259
260
261
262
263
# File 'lib/mutant.rb', line 255

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