Class: RsUserPolicy::UserCollection

Inherits:
Object
  • Object
show all
Defined in:
lib/rs_user_policy/user_collection.rb

Instance Method Summary collapse

Constructor Details

#initializeUserCollection

Returns a new instance of UserCollection.



25
26
27
# File 'lib/rs_user_policy/user_collection.rb', line 25

def initialize
  @users_by_href = {}
end

Instance Method Details

#[](href) ⇒ Object



49
50
51
# File 'lib/rs_user_policy/user_collection.rb', line 49

def [](href)
  @users_by_href[href]
end

#add_permissions(account_href, permissions) ⇒ Object



53
54
55
56
57
58
59
60
61
62
# File 'lib/rs_user_policy/user_collection.rb', line 53

def add_permissions(, permissions)
  permissions.each do |permission|
    user_href = permission.user.href
    unless @users_by_href.has_key?(user_href)
      user = permission.user.show()
      @users_by_href[user.href] = RsUserPolicy::User.new(user)
    end
    @users_by_href[user_href].add_permission(, permission)
  end
end

#add_users(users) ⇒ Object

Adds users to this collection only if the collection does not already include the specified users. The users RightScale API href is used as the unique identifier for deduplication

Parameters:

  • users (Array<RightApi::ResourceDetail>)

    An array of RightAPI::ResourceDetail for the resource type “user”



41
42
43
44
45
46
47
# File 'lib/rs_user_policy/user_collection.rb', line 41

def add_users(users)
  users.each do |user|
    unless @users_by_href.has_key?(user.href)
      @users_by_href[user.href] = RsUserPolicy::User.new(user)
    end
  end
end

#usersArray<RsUserPolicy::User>

Returns An array of RsUserPolicy::User added to the collection.

Returns:



32
33
34
# File 'lib/rs_user_policy/user_collection.rb', line 32

def users
  @users_by_href.values
end