Class: Raven::ClientState

Inherits:
Object
  • Object
show all
Defined in:
lib/raven/client.rb

Instance Method Summary collapse

Constructor Details

#initializeClientState

Returns a new instance of ClientState.



120
121
122
# File 'lib/raven/client.rb', line 120

def initialize
  reset
end

Instance Method Details

#failed?Boolean

Returns:

  • (Boolean)


151
152
153
# File 'lib/raven/client.rb', line 151

def failed?
  @status == :error
end

#failure(retry_after = nil) ⇒ Object



133
134
135
136
137
138
# File 'lib/raven/client.rb', line 133

def failure(retry_after = nil)
  @status = :error
  @retry_number += 1
  @last_check = Time.now
  @retry_after = retry_after
end

#resetObject



144
145
146
147
148
149
# File 'lib/raven/client.rb', line 144

def reset
  @status = :online
  @retry_number = 0
  @last_check = nil
  @retry_after = nil
end

#should_try?Boolean

Returns:

  • (Boolean)


124
125
126
127
128
129
130
131
# File 'lib/raven/client.rb', line 124

def should_try?
  return true if @status == :online

  interval = @retry_after || [@retry_number, 6].min ** 2
  return true if Time.now - @last_check >= interval

  false
end

#successObject



140
141
142
# File 'lib/raven/client.rb', line 140

def success
  reset
end