class Gitolite::Config::Group
Represents a group inside the gitolite configuration. The name and users options are all encapsulated in this class. All users are stored as Strings!
Constants
- PREPEND_CHAR
Attributes
name[RW]
users[RW]
Public Class Methods
new(name)
click to toggle source
# File lib/gitolite/config/group.rb, line 13 def initialize(name) # naively remove the prepend char # I don't think you can have two of them in a group name @name = name.gsub(PREPEND_CHAR, '') @users = [] end
Public Instance Methods
add_user(user)
click to toggle source
# File lib/gitolite/config/group.rb, line 26 def add_user(user) return if has_user?(user) @users.push(user.to_s).sort! end
add_users(*users)
click to toggle source
# File lib/gitolite/config/group.rb, line 32 def add_users(*users) fixed_users = users.flatten.map{ |u| u.to_s } @users.concat(fixed_users).sort!.uniq! end
empty!()
click to toggle source
# File lib/gitolite/config/group.rb, line 21 def empty! @users.clear end
has_user?(user)
click to toggle source
# File lib/gitolite/config/group.rb, line 43 def has_user?(user) @users.include? user.to_s end
rm_user(user)
click to toggle source
# File lib/gitolite/config/group.rb, line 38 def rm_user(user) @users.delete(user.to_s) end
size()
click to toggle source
# File lib/gitolite/config/group.rb, line 48 def size @users.length end
to_s()
click to toggle source
# File lib/gitolite/config/group.rb, line 53 def to_s members = @users.join(' ') name = "#{PREPEND_CHAR}#{@name}" "#{name.ljust(20)}= #{members}\n" end