module Fog::Openstack

Constants

VERSION

Public Class Methods

[](service) click to toggle source

TODO: get rid of inconform self.[] & self.new & self.services

# File lib/fog/planning/openstack.rb, line 130
def self.[](service)
  new(:service => service)
end
included(base) click to toggle source
# File lib/fog/openstack/version.rb, line 5
def self.included(base)
  if RUBY_VERSION < "2"
    puts "DEPRECATION WARNING - Support for Ruby 1.9 will be dropped in fog-openstack 0.2 and higher. Please upgrade to Ruby 2 or above."
  end
end
new(attributes) click to toggle source
# File lib/fog/planning/openstack.rb, line 134
def self.new(attributes)
  attributes = attributes.dup # Prevent delete from having side effects
  service = attributes.delete(:service).to_s.downcase.to_sym
  if services.include?(service)
    require "fog/#{service}/openstack"
    return Fog::Openstack.const_get(service.to_s.capitalize).new(attributes)
  end
  raise ArgumentError, "Openstack has no #{service} service"
end
services() click to toggle source
# File lib/fog/planning/openstack.rb, line 144
def self.services
  # Ruby 1.8.7 compatibility for select returning Array of Arrays (pairs)
  Hash[Fog.services.select { |_service, providers| providers.include?(:openstack) }].keys
end