Sha256: d23752779dbb109fff04fd010dcfdaaf98534645570c44ee2ab780065dcf1695

Contents?: true

Size: 1.08 KB

Versions: 2

Compression:

Stored size: 1.08 KB

Contents

module StackFu
  class ConfigCommand < Command
    include StackFu::ApiHooks
    include StackFu::ProvidersCredentials
    
    def default(parameters, options)
      while true
        login = options[:login] || ask("StackFu Login: ")
        token = options[:token] || ask("StackFu Token: ")
      
        break if options[:login] and options[:token]
        
        puts ""
        break if agree("Is this information correct? ", true)
        puts ""
        puts "OK, let's try it again"
        puts ""
      end
    
      puts ""
      puts "Configuration saved to #{ENV['HOME']}/.stackfu"
      save_config(login, token)
    end
    
    def webbynode(parameters, options)
      user = spinner { User.find(:all).first }
      add_webbynode_credentials(user)
    end
  
    def slicehost(parameters, options)
      user = spinner { User.find(:all).first }
      add_slicehost_credentials(user)
    end
  
    private
  
    def save_config(login, token)
      File.open("#{ENV["HOME"]}/.stackfu", "w") do |file|
        YAML.dump({ :login => login, :token => token }, file)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
stackfu-0.1.1 lib/stackfu/commands/config_command.rb
stackfu-0.1.0 lib/stackfu/commands/config_command.rb