fix non-default credentials

This commit is contained in:
Wesley Beary 2010-01-25 16:21:38 -08:00
parent 1b161f4841
commit 16d68f96cd
2 changed files with 16 additions and 9 deletions

14
bin/fog
View File

@ -5,8 +5,8 @@ require 'yaml'
module Fog module Fog
module Credentials module Credentials
credential = (ARGV.first && :"#{ARGV.first}") || :default Fog.credential = (ARGV.first && :"#{ARGV.first}") || :default
unless Fog.credentials[credential] unless Fog.credentials
exit exit
end end
end end
@ -15,12 +15,11 @@ end
module AWS module AWS
class << self class << self
credential = (ARGV.first && :"#{ARGV.first}") || :default credential = (ARGV.first && :"#{ARGV.first}") || :default
if Fog.credentials[credential][:aws_access_key_id] && Fog.credentials[credential][:aws_secret_access_key] if Fog.credentials[:aws_access_key_id] && Fog.credentials[:aws_secret_access_key]
def [](service) def [](service)
@@connections ||= Hash.new do |hash, key| @@connections ||= Hash.new do |hash, key|
credential = (ARGV.first && :"#{ARGV.first}") || :default credentials = Fog.credentials.reject do |k, v|
credentials = Fog.credentials[credential].reject do |k, v|
![:aws_access_key_id, :aws_secret_access_key].include?(k) ![:aws_access_key_id, :aws_secret_access_key].include?(k)
end end
hash[key] = case key hash[key] = case key
@ -75,13 +74,12 @@ end
module Rackspace module Rackspace
class << self class << self
credential = (ARGV.first && :"#{ARGV.first}") || :default if Fog.credentials[:rackspace_api_key] && Fog.credentials[:rackspace_username]
if Fog.credentials[credential][:rackspace_api_key] && Fog.credentials[credential][:rackspace_username]
def [](service) def [](service)
@@connections ||= Hash.new do |hash, key| @@connections ||= Hash.new do |hash, key|
credential = (ARGV.first && :"#{ARGV.first}") || :default credential = (ARGV.first && :"#{ARGV.first}") || :default
credentials = Fog.credentials[credential].reject do |k,v| credentials = Fog.credentials.reject do |k,v|
![:rackspace_api_key, :rackspace_username].include?(k) ![:rackspace_api_key, :rackspace_username].include?(k)
end end
hash[key] = case key hash[key] = case key

View File

@ -38,6 +38,15 @@ module Fog
load "fog/slicehost.rb" load "fog/slicehost.rb"
end end
def self.credential=(new_credential)
@credential = new_credential
@credentials = nil
end
def self.credential
@credential || :default
end
def self.credentials def self.credentials
@credentials ||= begin @credentials ||= begin
path = File.expand_path('~/.fog') path = File.expand_path('~/.fog')
@ -62,7 +71,7 @@ module Fog
YML YML
print(yml) print(yml)
end end
credentials credentials[credential]
end end
end end