diff options
| author | elijah <elijah@riseup.net> | 2012-12-05 01:02:39 -0800 | 
|---|---|---|
| committer | elijah <elijah@riseup.net> | 2012-12-05 01:02:39 -0800 | 
| commit | 5a5879c51afc128ea723443de26458ebdc645c6a (patch) | |
| tree | 7e18cd0880526bd550a5e8945ecb683e7fdf1a00 /lib/leap_cli/commands | |
| parent | cc2459bf72db3990d15b83d6a07c184794215777 (diff) | |
fixed problems with ruby 1.8 and GLI, and added some tests.
Diffstat (limited to 'lib/leap_cli/commands')
| -rw-r--r-- | lib/leap_cli/commands/ca.rb | 28 | ||||
| -rw-r--r-- | lib/leap_cli/commands/node.rb | 32 | ||||
| -rw-r--r-- | lib/leap_cli/commands/vagrant.rb | 42 | 
3 files changed, 51 insertions, 51 deletions
| diff --git a/lib/leap_cli/commands/ca.rb b/lib/leap_cli/commands/ca.rb index f471b5a..d6fd975 100644 --- a/lib/leap_cli/commands/ca.rb +++ b/lib/leap_cli/commands/ca.rb @@ -7,11 +7,11 @@ module LeapCli; module Commands    desc "Manage X.509 certificates"    #long_desc "" -  command :cert do |c| +  command :cert do |cert| -    c.desc 'Creates a Certificate Authority (private key and CA certificate)' -    c.command :ca do |c| -      c.action do |global_options,options,args| +    cert.desc 'Creates a Certificate Authority (private key and CA certificate)' +    cert.command :ca do |ca| +      ca.action do |global_options,options,args|          assert_files_missing! :ca_cert, :ca_key          assert_config! 'provider.ca.name'          assert_config! 'provider.ca.bit_size' @@ -48,10 +48,10 @@ module LeapCli; module Commands        end      end -    c.desc 'Creates or renews a X.509 certificate/key pair for a single node or all nodes' -    c.arg_name 'node-name', :optional => false -    c.command :update do |c| -      c.action do |global_options,options,args| +    cert.desc 'Creates or renews a X.509 certificate/key pair for a single node or all nodes' +    cert.arg_name 'node-name', :optional => false +    cert.command :update do |update| +      update.action do |global_options,options,args|          assert_files_exist! :ca_cert, :ca_key, :msg => 'Run `leap cert ca` to create them'          assert_config! 'provider.ca.server_certificates.bit_size'          assert_config! 'provider.ca.server_certificates.digest' @@ -70,9 +70,9 @@ module LeapCli; module Commands        end      end -    c.desc 'Creates a Diffie-Hellman parameter file' # (needed for server-side of some TLS connections) -    c.command :dh do |c| -      c.action do |global_options,options,args| +    cert.desc 'Creates a Diffie-Hellman parameter file' # (needed for server-side of some TLS connections) +    cert.command :dh do |dh| +      dh.action do |global_options,options,args|          long_running do            if cmd_exists?('certtool')              log 0, 'Generating DH parameters (takes a long time)...' @@ -104,10 +104,10 @@ module LeapCli; module Commands      # nice details about CSRs:      #   http://www.redkestrel.co.uk/Articles/CSR.html      # -    c.desc 'Creates a CSR for use in buying a commercial X.509 certificate' -    c.command :csr do |c| +    cert.desc 'Creates a CSR for use in buying a commercial X.509 certificate' +    cert.command :csr do |csr|        #c.switch 'sign', :desc => 'additionally creates a cert that is signed by your own CA (recommended only for testing)', :negatable => false -      c.action do |global_options,options,args| +      csr.action do |global_options,options,args|          assert_config! 'provider.domain'          assert_config! 'provider.name'          assert_config! 'provider.default_language' diff --git a/lib/leap_cli/commands/node.rb b/lib/leap_cli/commands/node.rb index aa9610f..9bf27e2 100644 --- a/lib/leap_cli/commands/node.rb +++ b/lib/leap_cli/commands/node.rb @@ -8,19 +8,19 @@ module LeapCli; module Commands    ##    desc 'Node management' -  command :node do |c| -    c.desc 'Create a new configuration file for a node' -    c.command :add do |c| -      c.action do |global_options,options,args| +  command :node do |node| +    node.desc 'Create a new configuration file for a node' +    node.command :add do |add| +      add.action do |global_options,options,args|          log 'not yet implemented'        end      end -    c.desc 'Bootstraps a node, setting up ssh keys and installing prerequisites' -    c.arg_name 'node-name', :optional => false, :multiple => false -    c.command :init do |c| -      c.switch 'echo', :desc => 'if set, passwords are visible as you type them (default is hidden)', :negatable => false -      c.action do |global_options,options,args| +    node.desc 'Bootstraps a node, setting up ssh keys and installing prerequisites' +    node.arg_name 'node-name', :optional => false, :multiple => false +    node.command :init do |init| +      init.switch 'echo', :desc => 'if set, passwords are visible as you type them (default is hidden)', :negatable => false +      init.action do |global_options,options,args|          node = get_node_from_args(args)          ping_node(node)          save_public_host_key(node) @@ -33,17 +33,17 @@ module LeapCli; module Commands        end      end -    c.desc 'Renames a node file, and all its related files' -    c.command :mv do |c| -      c.action do |global_options,options,args| +    node.desc 'Renames a node file, and all its related files' +    node.command :mv do |mv| +      mv.action do |global_options,options,args|          log 'not yet implemented'        end      end -    c.desc 'Removes a node file, and all its related files' -    c.arg_name '<node-name>', :optional => false, :multiple => false -    c.command :rm do |c| -      c.action do |global_options,options,args| +    node.desc 'Removes a node file, and all its related files' +    node.arg_name '<node-name>', :optional => false, :multiple => false +    node.command :rm do |rm| +      rm.action do |global_options,options,args|          log 'not yet implemented'        end      end diff --git a/lib/leap_cli/commands/vagrant.rb b/lib/leap_cli/commands/vagrant.rb index eaf070f..f3c3c33 100644 --- a/lib/leap_cli/commands/vagrant.rb +++ b/lib/leap_cli/commands/vagrant.rb @@ -5,47 +5,47 @@ module LeapCli; module Commands    desc "Manage local virtual machines"    long_desc "This command provides a convient way to manage Vagrant-based virtual machines. If node-filter argument is missing, the command runs on all local virtual machines. The Vagrantfile is automatically generated in 'test/Vagrantfile'. If you want to run vagrant commands manually, cd to 'test'." -  command :local do |c| -    c.desc 'Starts up the virtual machine(s)' -    c.arg_name 'node-filter', :optional => true #, :multiple => false -    c.command :start do |c| -      c.action do |global_options,options,args| +  command :local do |local| +    local.desc 'Starts up the virtual machine(s)' +    local.arg_name 'node-filter', :optional => true #, :multiple => false +    local.command :start do |start| +      start.action do |global_options,options,args|          vagrant_setup          vagrant_command(["up", "sandbox on"], args)        end      end -    c.desc 'Shuts down the virtual machine(s)' -    c.arg_name 'node-filter', :optional => true #, :multiple => false -    c.command :stop do |c| -      c.action do |global_options,options,args| +    local.desc 'Shuts down the virtual machine(s)' +    local.arg_name 'node-filter', :optional => true #, :multiple => false +    local.command :stop do |stop| +      stop.action do |global_options,options,args|          vagrant_setup          vagrant_command("halt", args)        end      end -    c.desc 'Resets virtual machine(s) to a pristine state' -    c.arg_name 'node-filter', :optional => true #, :multiple => false -    c.command :reset do |c| -      c.action do |global_options,options,args| +    local.desc 'Resets virtual machine(s) to a pristine state' +    local.arg_name 'node-filter', :optional => true #, :multiple => false +    local.command :reset do |reset| +      reset.action do |global_options,options,args|          vagrant_setup          vagrant_command("sandbox rollback", args)        end      end -    c.desc 'Destroys the virtual machine(s), reclaiming the disk space' -    c.arg_name 'node-filter', :optional => true #, :multiple => false -    c.command :destroy do |c| -      c.action do |global_options,options,args| +    local.desc 'Destroys the virtual machine(s), reclaiming the disk space' +    local.arg_name 'node-filter', :optional => true #, :multiple => false +    local.command :destroy do |destroy| +      destroy.action do |global_options,options,args|          vagrant_setup          vagrant_command("destroy", args)        end      end -    c.desc 'Print the status of local virtual machine(s)' -    c.arg_name 'node-filter', :optional => true #, :multiple => false -    c.command :status do |c| -      c.action do |global_options,options,args| +    local.desc 'Print the status of local virtual machine(s)' +    local.arg_name 'node-filter', :optional => true #, :multiple => false +    local.command :status do |status| +      status.action do |global_options,options,args|          vagrant_setup          vagrant_command("status", args)        end | 
