Module: Jumbotron::Providers::Espn::ProviderFailure
- Defined in:
- app/providers/jumbotron/providers/espn/provider_failure.rb
Class Method Summary collapse
- .availability_failure?(error) ⇒ Boolean
- .server_error_status?(error) ⇒ Boolean
- .transport_cause?(cause) ⇒ Boolean
Class Method Details
.availability_failure?(error) ⇒ Boolean
9 10 11 12 13 14 15 16 |
# File 'app/providers/jumbotron/providers/espn/provider_failure.rb', line 9 def availability_failure?(error) return false unless error.is_a?(CommandTower::Clients::Errors::UpstreamError) return true if server_error_status?(error) return true if transport_cause?(error.cause) false end |
.server_error_status?(error) ⇒ Boolean
18 19 20 21 |
# File 'app/providers/jumbotron/providers/espn/provider_failure.rb', line 18 def server_error_status?(error) status = error.details.is_a?(Hash) ? error.details[:status] : nil status.is_a?(Integer) && status >= 500 end |
.transport_cause?(cause) ⇒ Boolean
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/providers/jumbotron/providers/espn/provider_failure.rb', line 23 def transport_cause?(cause) return false if cause.nil? return true if cause.is_a?(CommandTower::Clients::Transport::Error) return true if defined?(Faraday) && cause.is_a?(Faraday::Error) return true if cause.is_a?(Timeout::Error) return true if cause.is_a?(SocketError) return true if cause.is_a?(Errno::ECONNREFUSED) return true if cause.is_a?(Errno::ECONNRESET) return true if cause.is_a?(Errno::ETIMEDOUT) return true if cause.is_a?(Net::OpenTimeout) return true if cause.is_a?(Net::ReadTimeout) false end |