Sha256: f1f141cce978acad1b334b7f1bb8f981394ff6fb4353b62081a59f7eb77470f0

Contents?: true

Size: 1.53 KB

Versions: 94

Compression:

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

    alias set_guid_attribute guid=

    def guid=(x)
      @guid = x
      set_guid_attribute(x)
    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

94 entries across 94 versions & 3 rubygems

Version Path
cloulu-1.0.0 lib/cfoundry/v2/user.rb
cloulu-0.7.0 lib/cfoundry/v2/user.rb
cloulu-0.6.6 lib/cfoundry/v2/user.rb
cloulu-0.6.5 lib/cfoundry/v2/user.rb
cloulu-0.6.1 lib/cfoundry/v2/user.rb
cloulu-0.6.0 lib/cfoundry/v2/user.rb
cloulu-0.5.1 lib/cfoundry/v2/user.rb
cloulu-0.5.0 lib/cfoundry/v2/user.rb
cloulu-0.3.0 lib/cfoundry/v2/user.rb
cloulu-0.2.6 lib/cfoundry/v2/user.rb
cloulu-0.2.5 lib/cfoundry/v2/user.rb
cloulu-0.2.4 lib/cfoundry/v2/user.rb
cloulu-0.2.3 lib/cfoundry/v2/user.rb
cloulu-0.2.1 lib/cfoundry/v2/user.rb
cloulu-0.2.0 lib/cfoundry/v2/user.rb
cloulu-0.1.6 lib/cfoundry/v2/user.rb
cloulu-0.1.5 lib/cfoundry/v2/user.rb
cloulu-0.1.2 lib/cfoundry/v2/user.rb
cloulu-0.1.1 lib/cfoundry/v2/user.rb
cfoundry-2.2.0rc3 lib/cfoundry/v2/user.rb