Sha256: 3a70eeb631987b33c88457e449f6b8a1f7ccc995f0e3e93deae3ceb71ea23449

Contents?: true

Size: 1.44 KB

Versions: 6

Compression:

Stored size: 1.44 KB

Contents

#!/usr/bin/env ruby
require File.join(File.dirname(__FILE__), '..', 'lib', 'fog')
require 'irb'
require 'yaml'
require File.join('fog', 'credentials')
require File.join('fog', 'bin')

Fog.credential = ARGV.first  ? :"#{ARGV.first}" : :default
unless Fog.credentials
  exit
end

require File.join('fog', 'aws', 'bin')
require File.join('fog', 'local', 'bin')
require File.join('fog', 'rackspace', 'bin')
require File.join('fog', 'slicehost', 'bin')
require File.join('fog', 'terremark', 'bin')
require File.join('fog', 'vcloud', 'bin')
require File.join('fog', 'bluebox', 'bin')

if ARGV.length > 1
  print(instance_eval(ARGV[1..-1].join(' ')).to_json)
else

  ARGV.clear # Avoid passing args to IRB
  IRB.setup(nil)
  @irb = IRB::Irb.new(nil)
  IRB.conf[:MAIN_CONTEXT] = @irb.context
  IRB.conf[:PROMPT][:FOG] = IRB.conf[:PROMPT][:SIMPLE].dup
  IRB.conf[:PROMPT][:FOG][:RETURN] = "%s\n"
  @irb.context.prompt_mode = :FOG
  @irb.context.workspace = IRB::WorkSpace.new(binding)

  services = Fog.services.map{|service| service.to_s}
  available_services = if services.length > 1
    services[0...-1].join(', ') << ' and ' << services[-1]
  else
    services.first
  end
  print "Welcome to fog interactive!\n"
  print "Your '#{Fog.credential.to_s}' configuration provides access to #{available_services}.\n"
  Fog.services.each do |service|
    if service.respond_to?(:startup_notice)
      service.send(:startup_notice)
    end
  end

  catch(:IRB_EXIT) { @irb.eval_input }

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
fog-0.2.0 bin/fog
fog-0.1.10 bin/fog
fog-0.1.9 bin/fog
fog-0.1.8 bin/fog
fog-0.1.7 bin/fog
fog-0.1.6 bin/fog