Sha256: 270d64de0af352f23fa6698a1e957ccec1e930b099918513704327165b7abacf
Contents?: true
Size: 1.35 KB
Versions: 7
Compression:
Stored size: 1.35 KB
Contents
module Mutant class Runner # Subject specific runner class Subject < self include Concord::Public.new(:config, :subject) register Mutant::Subject # Initialize object # # @param [Config] config # @param [Subject] subject # # @return [undefined] # # @api private # def initialize(config, subject) @subject = subject super(config) end # Return mutation runners # # @return [Enumerable<Runner::Mutation>] # # @api private # attr_reader :mutations # Return failed mutations # # @return [Enumerable<Mutation>] # # @api private # def failed_mutations mutations.reject(&:success?) end memoize :failed_mutations # Test if subject was processed successful # # @return [true] # if successful # # @return [false] # otherwise # # @api private # def success? failed_mutations.empty? end private # Perform operation # # @return [undefined] # # @api private # def run subject = self.subject report(subject) @mutations = dispatch(subject.mutations) report(self) end end # Subject end # Runner end # Mutant
Version data entries
7 entries across 7 versions & 1 rubygems