class Chaos::Injector
Attributes
injections[R]
modifier_factory[R]
Public Class Methods
build(logger:, random_numbers_generator: Kernel)
click to toggle source
# File lib/chaos/injector.rb, line 5 def self.build(logger:, random_numbers_generator: Kernel) new(Chaos::ModifierFactory.new(logger: logger, random_numbers_generator: random_numbers_generator)) end
new(modifier_factory)
click to toggle source
# File lib/chaos/injector.rb, line 9 def initialize(modifier_factory) @modifier_factory = modifier_factory @injections = [] end
Public Instance Methods
inject() { |injection| ... }
click to toggle source
# File lib/chaos/injector.rb, line 14 def inject injection = Chaos::Injection.new yield injection injection.validate! injections << injection injection.target.prepend(build_module(injection)) end
Private Instance Methods
build_module(injection)
click to toggle source
# File lib/chaos/injector.rb, line 25 def build_module(injection) modifier_factory.build_module(injection) end