Sha256: e4eb942c35be5e4e706da765c5f0d1fbbc2d51818622c0f2d8decf0ad57794d8

Contents?: true

Size: 1.48 KB

Versions: 8

Compression:

Stored size: 1.48 KB

Contents

require "cfoundry/v2/model"

module CFoundry::V2
  class User < Model
    to_many   :spaces
    to_many   :organizations
    to_many   :managed_organizations, :as => :organization
    to_many   :billing_managed_organizations, :as => :organization
    to_many   :audited_organizations, :as => :organization
    to_many   :managed_spaces, :as => :space
    to_many   :audited_spaces, :as => :space
    attribute :admin, :boolean
    to_one    :default_space, :as => :space

    attribute :guid, :string # guid is explicitly set for users

    queryable_by :space_guid, :organization_guid, :managed_organization_guid,
      :billing_managed_organization_guid, :audited_organization_guid,
      :managed_space_guid, :audited_space_guid

    def guid
      @guid
    end

    def guid=(x)
      @guid = x
      super
    end

    alias :admin? :admin

    def change_password!(new, old)
      @client.base.uaa.change_password(@guid, new, old)
    end

    # optional metadata from UAA
    attr_accessor :emails, :name

    def email
      return unless @emails && @emails.first
      @emails.first[:value]
    end

    def given_name
      return unless @name && @name[:givenName] != email
      @name[:givenName]
    end

    def family_name
      return unless @name && @name[:familyName] != email
      @name[:familyName]
    end

    def full_name
      if @name && @name[:fullName]
        @name[:fullName]
      elsif given_name && family_name
        "#{given_name} #{family_name}"
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
cfoundry-0.4.7 lib/cfoundry/v2/user.rb
cfoundry-0.4.6 lib/cfoundry/v2/user.rb
cfoundry-0.4.5 lib/cfoundry/v2/user.rb
cfoundry-0.4.4 lib/cfoundry/v2/user.rb
cfoundry-0.4.3 lib/cfoundry/v2/user.rb
cfoundry-0.4.2 lib/cfoundry/v2/user.rb
cfoundry-0.4.1 lib/cfoundry/v2/user.rb
cfoundry-0.4.0 lib/cfoundry/v2/user.rb