Sha256: 7869db122c39cffc42354eaf82d0988fcd4cf4591c2780ffbe9dff6f970688ed

Contents?: true

Size: 1.3 KB

Versions: 11

Compression:

Stored size: 1.3 KB

Contents

module Fog
  module Rackspace

    def self.reload
      load 'fog/rackspace/files.rb'
      load 'fog/rackspace/servers.rb'
    end

    unless Fog.mocking?

      def self.authenticate(options)
        connection = Fog::Connection.new("https://auth.api.rackspacecloud.com")
        response = connection.request({
          :expects  => 204,
          :headers  => {
            'X-Auth-Key'  => options[:rackspace_api_key],
            'X-Auth-User' => options[:rackspace_username]
          },
          :host     => 'auth.api.rackspacecloud.com',
          :method   => 'GET',
          :path     => 'v1.0'
        })
        response.headers.reject do |key, value|
          !['X-Server-Management-Url', 'X-Storage-Url', 'X-CDN-Management-Url', 'X-Auth-Token'].include?(key)
        end
      end

    else

      def self.authenticate(options)
        {
          'X-Auth_Token'            => '01234567-0123-0123-0123-01234',
          'X-CDN-Management-Url'    => 'https://cdn.cloaddrive.com/v1/CloudFS_01234-0123',
          'X-Server-Management-Url' => 'https://servers.api.rackspacecloud.com/v1.0/01234',
          'X-Storage-Url'           => 'https://storage.clouddrive.com/v1/CloudFS_01234-0123'
        }
      end

      srand(Time.now.to_i)

      class Mock
      end

    end

  end
end
Fog::Rackspace.reload

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
fog-0.0.40 lib/fog/rackspace.rb
fog-0.0.39 lib/fog/rackspace.rb
fog-0.0.38 lib/fog/rackspace.rb
fog-0.0.37 lib/fog/rackspace.rb
fog-0.0.36 lib/fog/rackspace.rb
fog-0.0.35 lib/fog/rackspace.rb
fog-0.0.34 lib/fog/rackspace.rb
fog-0.0.33 lib/fog/rackspace.rb
fog-0.0.32 lib/fog/rackspace.rb
fog-0.0.31 lib/fog/rackspace.rb
fog-0.0.30 lib/fog/rackspace.rb