Sha256: 6b54eada30d817defce91cb084f3397632c5dae4d28971fb7c2641d4acdf0a7c

Contents?: true

Size: 1.12 KB

Versions: 17

Compression:

Stored size: 1.12 KB

Contents

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

require File.join(lib_dir, 'fog', 'bin')

Fog.credential = (ARGV.first && :"#{ARGV.first}") || :default
unless Fog.credentials
  exit
end

require File.join(lib_dir, 'fog', 'aws', 'bin')
require File.join(lib_dir, 'fog', 'rackspace', 'bin')
require File.join(lib_dir, 'fog', 'slicehost', 'bin')
require File.join(lib_dir, 'fog', 'terremark', 'bin')

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"

catch(:IRB_EXIT) { @irb.eval_input }

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
fog-0.0.59 bin/fog
fog-0.0.58 bin/fog
fog-0.0.57 bin/fog
fog-0.0.56 bin/fog
fog-0.0.55 bin/fog
fog-0.0.54 bin/fog
fog-0.0.53 bin/fog
fog-0.0.52 bin/fog
fog-0.0.51 bin/fog
fog-0.0.50 bin/fog
fog-0.0.49 bin/fog
fog-0.0.48 bin/fog
fog-0.0.47 bin/fog
fog-0.0.46 bin/fog
fog-0.0.45 bin/fog
fog-0.0.44 bin/fog
fog-0.0.43 bin/fog