Sha256: 3ea492a4c012d9c7a7834521adb833e52f1d2630153cdd7140d6f27898ef7776

Contents?: true

Size: 1.19 KB

Versions: 7

Compression:

Stored size: 1.19 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

    def guid
      @guid
    end

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

    alias :admin? :admin

    # 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

7 entries across 7 versions & 1 rubygems

Version Path
cfoundry-0.3.30 lib/cfoundry/v2/user.rb
cfoundry-0.3.29 lib/cfoundry/v2/user.rb
cfoundry-0.3.28 lib/cfoundry/v2/user.rb
cfoundry-0.3.27 lib/cfoundry/v2/user.rb
cfoundry-0.3.26 lib/cfoundry/v2/user.rb
cfoundry-0.3.25 lib/cfoundry/v2/user.rb
cfoundry-0.3.24 lib/cfoundry/v2/user.rb