Sha256: 59c098119119bc2fe9b7740f78cdf9a0e71fbf02576bc05c8ed894dc3e67bf82

Contents?: true

Size: 1.09 KB

Versions: 3

Compression:

Stored size: 1.09 KB

Contents

module Brightbox
  command [:users] do |cmd|

    cmd.desc "Update user details"
    cmd.arg_name "user-id..."
    cmd.command [:update] do |c|

      c.desc "Path to public ssh key file"
      c.long_desc "This is the path to the public ssh key that you'd like to use
      for new servers. You can specify '-' to read from stdin"
        c.flag [:f, "ssh-key"]

        c.desc "Name"
        c.flag [:n, "name"]

        c.action do |global_options, options, args|

          raise "You must specify the user id as the first argument" if args.empty?

          user = User.find args.first

          if options[:f] == "-"
            user.ssh_key = STDIN.read
          elsif options[:f]
            File.open(File.expand_path(options[:f])) { |f| user.ssh_key = f.read }
          end

          if options[:n]
            user.name = options[:n]
          end

          user.save

          table_opts = global_options.merge({
            :vertical => true,
            :fields => [:id, :name, :email_address, :ssh_key ]
          })

          render_table([user], table_opts)

        end
      end
    end
  end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
brightbox-cli-1.0.0 lib/brightbox-cli/commands/users-update.rb
brightbox-cli-1.0.0.rc2 lib/brightbox-cli/commands/users-update.rb
brightbox-cli-1.0.0.rc1 lib/brightbox-cli/commands/users-update.rb