class GroupModelItem

# ———————————————————————- A group of users. Groups consist of a UNIX-style name, a numeric ID, and owner (a valid User), and a list of members (valid Users).

Public Class Methods

ident_key() click to toggle source

Use :name entry in Hash as primary key

# File doc/examples/user_group/model.rb, line 203
def self.ident_key()
  :name
end
new(model, path) click to toggle source
Calls superclass method GitDS::FsModelItem::new
# File doc/examples/user_group/model.rb, line 197
def initialize(model, path)
  super
  @users = GitDS::ProxyItemList.new(UserModelItem, model, path)
end

Public Instance Methods

add_user(u) click to toggle source

Add a User to the group. The argument must be a User object.

# File doc/examples/user_group/model.rb, line 253
def add_user(u)
  ensure_valid
  @users.add(self, u, true)
end
del_user(name) click to toggle source

Remove a user from the group, by name.

# File doc/examples/user_group/model.rb, line 261
def del_user(name)
  ensure_valid
  @users.delete(name)
end
id() click to toggle source

The ID of the group, e.g. 1000.

# File doc/examples/user_group/model.rb, line 215
def id
  integer_property(:id)
end
id=(val) click to toggle source
# File doc/examples/user_group/model.rb, line 219
def id=(val)
  set_property(:id, val)
end
owner() click to toggle source

The owner of the group: a link to a User object.

# File doc/examples/user_group/model.rb, line 226
def owner
  property(:owner)
end
owner=(u) click to toggle source
# File doc/examples/user_group/model.rb, line 230
def owner=(u)
  set_property(:owner, u)
end
user(name) click to toggle source

Instantiate a User in the group by name.

# File doc/examples/user_group/model.rb, line 245
def user(name)
  ensure_valid
  @users[name]
end
users() click to toggle source

The names of every User in the group.

# File doc/examples/user_group/model.rb, line 237
def users
  ensure_valid
  @users.keys
end