class ET::FallbackConnection

Public Class Methods

new(opts = {}, &block) click to toggle source
# File lib/et/fallback_connection.rb, line 6
def initialize(opts = {}, &block)
  @connection = Faraday.new(opts, &block)

  @fallback_connection = Faraday.new(opts.merge(:ssl => {:verify => false}), &block)
end

Public Instance Methods

open(&block) click to toggle source
# File lib/et/fallback_connection.rb, line 12
def open(&block)
  begin
    block.call(@connection)
  rescue Faraday::SSLError => e
    if operating_system.platform_family?(:windows)
      block.call(@fallback_connection)
    else
      raise e
    end
  end
end

Private Instance Methods

operating_system() click to toggle source
# File lib/et/fallback_connection.rb, line 25
def operating_system
  @os ||= ET::OperatingSystem.new
end