Sha256: 4b27a0e9744e4f4007cbbc1a748df861af660bb6cbfc6a6eeb030e64d7773330

Contents?: true

Size: 1.69 KB

Versions: 2

Compression:

Stored size: 1.69 KB

Contents

require "vmc/cli/command"

module VMC
  class User < Command
    desc "create [EMAIL]", "Create a user"
    group :admin, :user, :hidden => true
    flag(:email) {
      ask("Email")
    }
    flag(:password) {
      ask("Password", :echo => "*", :forget => true)
    }
    flag(:verify) {
      ask("Verify Password", :echo => "*", :forget => true)
    }
    def create(email = nil)
      email ||= input(:email)
      password = input(:password)
      verify = input(:verify)

      if password != verify
        fail "Passwords don't match."
      end

      with_progress("Creating user") do
        client.register(email, password)
      end
    end

    desc "delete [EMAIL]", "Delete a user"
    group :admin, :user, :hidden => true
    flag(:really) { |email|
      force? || ask("Really delete user #{c(email, :blue)}?", :default => false)
    }
    def delete(email)
      return unless input(:really, email)

      with_progress("Deleting #{c(email, :blue)}") do
        client.user(email).delete!
      end
    ensure
      forget(:really)
    end

    desc "passwd [EMAIL]", "Update a user's password"
    group :admin, :user, :hidden => true
    flag(:email) {
      ask("Email")
    }
    flag(:password) {
      ask("Password", :echo => "*", :forget => true)
    }
    flag(:verify) {
      ask("Verify Password", :echo => "*", :forget => true)
    }
    def passwd(email = nil)
      email ||= input(:email)
      password = input(:password)
      verify = input(:verify)

      if password != verify
        fail "Passwords don't match."
      end

      with_progress("Changing password") do
        user = client.user(email)
        user.password = password
        user.update!
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vmc-0.4.0.beta.2 vmc-ng/lib/vmc/cli/user.rb
vmc-0.4.0.beta.1 vmc-ng/lib/vmc/cli/user.rb