Sha256: 1ce7c620099c7e2ffdd1dfdc0c7573e2b1c1ff225d2f021167a1e1831b7a1a53

Contents?: true

Size: 811 Bytes

Versions: 4

Compression:

Stored size: 811 Bytes

Contents

module CFoundry
  class User
    attr_reader :email

    def initialize(email, client, manifest = nil)
      @email = email
      @client = client
      @manifest = manifest
    end

    def inspect
      "#<User '#@email'>"
    end

    def manifest
      @manifest ||= @client.rest.user(@email)
    end

    def delete!
      @client.rest.delete_user(@email)
    end

    def create!
      @client.rest.create_user(@manifest.merge("email" => @email))
    end

    def update!(what = {})
      @client.rest.update_user(@email, manifest.merge(what))
      @manifest = nil
    end

    def exists?
      @client.rest.user(@email)
      true
    rescue CFoundry::Denied
      false
    end

    def admin?
      manifest["admin"]
    end

    def password=(str)
      manifest["password"] = str
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
cfoundry-0.2.0 lib/cfoundry/user.rb
cfoundry-0.1.2 lib/cfoundry/user.rb
cfoundry-0.1.1 lib/cfoundry/user.rb
cfoundry-0.1.0 lib/cfoundry/user.rb