module Deltacloud::Helpers::Drivers

Public Instance Methods

driver() click to toggle source
# File lib/deltacloud/helpers/driver_helper.rb, line 49
def driver
  $:.unshift File.join(File.dirname(__FILE__), '..', '..')
  begin
    require_relative(driver_source_name) unless driver_class
    driver_class
  rescue LoadError => e
    raise "[ERROR] The driver '#{driver_name}' is unknown or not installed (#{driver_source_name})\n" +
      "\n#{e.message}\n"
  end
end
driver_class() click to toggle source
# File lib/deltacloud/helpers/driver_helper.rb, line 40
def driver_class
  begin
    m = Deltacloud::Drivers.const_get(driver_class_name)
    m.const_get(driver_class_name + "Driver").new
  rescue NameError
    nil
  end
end
driver_class_name() click to toggle source
# File lib/deltacloud/helpers/driver_helper.rb, line 32
def driver_class_name
  driver_name.camelize
end
driver_name() click to toggle source
# File lib/deltacloud/helpers/driver_helper.rb, line 24
def driver_name
  Thread.current[:driver] ||= Deltacloud.default_frontend.default_driver.to_s
end
driver_source_name() click to toggle source
# File lib/deltacloud/helpers/driver_helper.rb, line 36
def driver_source_name
  File.join('..', 'drivers', driver_name, driver_name + '_driver.rb')
end
driver_symbol() click to toggle source
# File lib/deltacloud/helpers/driver_helper.rb, line 20
def driver_symbol
  driver_name.to_sym
end
provider_name() click to toggle source
# File lib/deltacloud/helpers/driver_helper.rb, line 28
def provider_name
  Thread.current[:provider] || ENV['API_PROVIDER']
end