Class: FaultInjection::FaultConditionBase

Inherits:
Object
  • Object
show all
Defined in:
lib/fault_injection/fault_condition.rb

Direct Known Subclasses

FaultConditionCall, FaultConditionLine

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeFaultConditionBase

Returns a new instance of FaultConditionBase.



9
10
11
12
# File 'lib/fault_injection/fault_condition.rb', line 9

def initialize
  @probability ||= 1
  @limit_times ||= -1
end

Instance Attribute Details

#error_classObject

Returns the value of attribute error_class.



4
5
6
# File 'lib/fault_injection/fault_condition.rb', line 4

def error_class
  @error_class
end

#limit_timesObject

Returns the value of attribute limit_times.



7
8
9
# File 'lib/fault_injection/fault_condition.rb', line 7

def limit_times
  @limit_times
end

#messageObject

Returns the value of attribute message.



5
6
7
# File 'lib/fault_injection/fault_condition.rb', line 5

def message
  @message
end

#probabilityObject

Returns the value of attribute probability.



6
7
8
# File 'lib/fault_injection/fault_condition.rb', line 6

def probability
  @probability
end

Instance Method Details

#should_raise_on(*args) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/fault_injection/fault_condition.rb', line 14

def should_raise_on(*args)
  return false if @limit_times == 0
  
  b = _should_raise_on(*args)

  if @probability < 1
	b = b && rand(0) < @probability
  end

  @limit_times -= 1 if b

  b
end