class Chaos::Injection
Constants
- ATTRIBUTES
Attributes
instability_factory[R]
Public Class Methods
new(instability_factory: Chaos::InstabilityFactory.new)
click to toggle source
# File lib/chaos/injection.rb, line 9 def initialize(instability_factory: Chaos::InstabilityFactory.new) @instability_factory = instability_factory end
Public Instance Methods
execute_if()
click to toggle source
# File lib/chaos/injection.rb, line 23 def execute_if @execute_if || ->(_arg) { true } end
execute_if=(val)
click to toggle source
# File lib/chaos/injection.rb, line 27 def execute_if=(val) raise "is not a lambda-like object" if !val.respond_to?(:call) @execute_if = val end
instability()
click to toggle source
# File lib/chaos/injection.rb, line 19 def instability instability_factory.build(instability_type) end
validate!()
click to toggle source
# File lib/chaos/injection.rb, line 13 def validate! ATTRIBUTES.each do |attribute| present?(public_send(attribute)) or raise ":#{attribute} is not set!" end end
Private Instance Methods
present?(value)
click to toggle source
# File lib/chaos/injection.rb, line 34 def present?(value) !value.nil? end