Sha256: 12e034a45f9db0adea2b69b5ab62b56fee618bd7c294b8efa7f333435e41ef59

Contents?: true

Size: 1.39 KB

Versions: 12

Compression:

Stored size: 1.39 KB

Contents

require 'fog/credentials'

require 'fog/aws/bin'
require 'fog/go_grid/bin'
require 'fog/linode/bin'
require 'fog/local/bin'
require 'fog/new_servers/bin'
require 'fog/rackspace/bin'
require 'fog/slicehost/bin'
require 'fog/terremark/bin'
require 'fog/vcloud/bin'
require 'fog/bluebox/bin'

module Fog
  class << self

    def services
      services = []
      [::AWS, ::GoGrid, ::Linode, ::Local, ::NewServers, ::Rackspace, ::Slicehost, ::Terremark, ::Vcloud, ::Bluebox].each do |service|
        if service.initialized?
          services << service
        end
      end
      services
    end

    def directories
      directories = {}
      services.each do |service|
        if service.respond_to?(:directories)
          directories[service] = service.directories
        end
      end
      directories
    end

    def flavors
      flavors = {}
      services.each do |service|
        if service.respond_to?(:flavors)
          flavors[service] = service.flavors
        end
      end
      flavors
    end

    def images
      images = {}
      services.each do |service|
        if service.respond_to?(:images)
          images[service] = service.images
        end
      end
      images
    end

    def servers
      servers = {}
      services.each do |service|
        if service.respond_to?(:servers)
          servers[service] = service.servers
        end
      end
      servers
    end

  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
fog-0.2.30 lib/fog/bin.rb
fog-0.2.28 lib/fog/bin.rb
fog-0.2.27 lib/fog/bin.rb
fog-0.2.26 lib/fog/bin.rb
fog-0.2.25 lib/fog/bin.rb
fog-0.2.24 lib/fog/bin.rb
tecnh-fog-0.2.23.vpc lib/fog/bin.rb
fog-0.2.23 lib/fog/bin.rb
fog-0.2.22 lib/fog/bin.rb
fog-0.2.21 lib/fog/bin.rb
fog-0.2.20 lib/fog/bin.rb
fog-0.2.19 lib/fog/bin.rb