class Fog::Kubevirt::Utils::ExceptionWrapper

Public Class Methods

new(client, version, log) click to toggle source
# File lib/fog/kubevirt/compute/utils/exception_wrapper.rb, line 5
def initialize(client, version, log)
  @client = client
  @version = version
  @log = log
end

Public Instance Methods

method_missing(symbol, *args) { |*block_args| ... } click to toggle source
Calls superclass method
# File lib/fog/kubevirt/compute/utils/exception_wrapper.rb, line 11
def method_missing(symbol, *args)
  super unless @client.respond_to?(symbol)

  if block_given?
    @client.__send__(symbol, *args) do |*block_args|
      yield(*block_args)
    end
  else
    @client.__send__(symbol, *args)
  end
rescue KubeException => e
  if e.error_code == 409
    @log.warn(e)
    raise ::Fog::Kubevirt::Errors::AlreadyExistsError, e
  elsif e.error_code == 404
    raise ::Fog::Kubevirt::Errors::NotFoundError, e
  else
    @log.warn(e)
    raise ::Fog::Kubevirt::Errors::ClientError, e
  end
end
respond_to_missing?(method_name, include_private = false) click to toggle source
Calls superclass method
# File lib/fog/kubevirt/compute/utils/exception_wrapper.rb, line 33
def respond_to_missing?(method_name, include_private = false)
  @client.respond_to?(method_name, include_private) || super
end
version() click to toggle source
# File lib/fog/kubevirt/compute/utils/exception_wrapper.rb, line 37
def version
  @version
end