Module: OpenStaxTransactionRetry

Defined in:
lib/open_stax_transaction_retry.rb,
lib/open_stax_transaction_retry/version.rb,
lib/open_stax_transaction_retry/active_record/base.rb

Defined Under Namespace

Modules: ActiveRecord Classes: Railtie

Constant Summary collapse

VERSION =
'2.0.0'

Class Method Summary collapse

Class Method Details

.apply_activerecord_patchObject

Must be called after ActiveRecord established a connection. Only then we know which connection adapter is actually loaded and can be enhanced. Please note ActiveRecord does not load unused adapters.



11
12
13
14
# File 'lib/open_stax_transaction_retry.rb', line 11

def self.apply_activerecord_patch
  TransactionIsolation.apply_activerecord_patch
  require_relative 'open_stax_transaction_retry/active_record/base'
end

.before_retryObject



29
30
31
# File 'lib/open_stax_transaction_retry.rb', line 29

def self.before_retry
  @@before_retry ||= nil # rubocop:todo Style/ClassVars
end

.before_retry=(lambda_block) ⇒ Object



25
26
27
# File 'lib/open_stax_transaction_retry.rb', line 25

def self.before_retry=(lambda_block)
  @@before_retry = lambda_block # rubocop:todo Style/ClassVars
end

.fuzzObject



57
58
59
# File 'lib/open_stax_transaction_retry.rb', line 57

def self.fuzz
  @@fuzz ||= true # rubocop:todo Style/ClassVars
end

.fuzz=(val) ⇒ Object



61
62
63
# File 'lib/open_stax_transaction_retry.rb', line 61

def self.fuzz=(val)
  @@fuzz = val # rubocop:todo Style/ClassVars
end

.max_retriesObject



41
42
43
# File 'lib/open_stax_transaction_retry.rb', line 41

def self.max_retries
  @@max_retries ||= 3 # rubocop:todo Style/ClassVars
end

.max_retries=(n) ⇒ Object

rubocop:todo Naming/MethodParameterName



45
46
47
# File 'lib/open_stax_transaction_retry.rb', line 45

def self.max_retries=(n) # rubocop:todo Naming/MethodParameterName
  @@max_retries = n # rubocop:todo Style/ClassVars
end

.retry_onObject



37
38
39
# File 'lib/open_stax_transaction_retry.rb', line 37

def self.retry_on
  @@retry_on ||= [] # rubocop:todo Style/ClassVars
end

.retry_on=(error_classes) ⇒ Object



33
34
35
# File 'lib/open_stax_transaction_retry.rb', line 33

def self.retry_on=(error_classes)
  @@retry_on = Array(error_classes) # rubocop:todo Style/ClassVars
end

.wait_timesObject



49
50
51
# File 'lib/open_stax_transaction_retry.rb', line 49

def self.wait_times
  @@wait_times ||= [0, 1, 2, 4, 8, 16, 32] # rubocop:todo Style/ClassVars
end

.wait_times=(array_of_seconds) ⇒ Object



53
54
55
# File 'lib/open_stax_transaction_retry.rb', line 53

def self.wait_times=(array_of_seconds)
  @@wait_times = array_of_seconds # rubocop:todo Style/ClassVars
end