module Kanrisuru::Core::Group
Constants
- Group
- GroupUser
Public Instance Methods
create_group(group, opts = {})
click to toggle source
# File lib/kanrisuru/core/group.rb, line 57 def create_group(group, opts = {}) gid = opts[:gid] command = Kanrisuru::Command.new("groupadd #{group}") command.append_arg('-g', gid) execute_shell(command) Kanrisuru::Result.new(command) do gid = Kanrisuru::Util.present?(gid) ? gid : get_gid(group).data Group.new(gid, group) end end
delete_group(group)
click to toggle source
# File lib/kanrisuru/core/group.rb, line 87 def delete_group(group) return false unless group?(group) command = Kanrisuru::Command.new("groupdel #{group}") execute_shell(command) Kanrisuru::Result.new(command) end
get_gid(group)
click to toggle source
# File lib/kanrisuru/core/group.rb, line 25 def get_gid(group) command = Kanrisuru::Command.new("getent group #{group}") execute(command) Kanrisuru::Result.new(command) do |cmd| cmd.to_s.split(':')[2].to_i end end
get_group(group)
click to toggle source
# File lib/kanrisuru/core/group.rb, line 35 def get_group(group) command = Kanrisuru::Command.new("getent group #{group} | cut -d: -f4") execute(command) Kanrisuru::Result.new(command) do |cmd| ## Get group id result = get_gid(group) break if result.failure? gid = result.to_i array = cmd.to_s.split(',') users = array.map do |user| uid = get_uid(user) GroupUser.new(uid.to_i, user) end Group.new(gid, group, users) end end
group?(group)
click to toggle source
# File lib/kanrisuru/core/group.rb, line 18 def group?(group) result = get_gid(group) return false if result.failure? Kanrisuru::Util.present?(result.data) && result.data.instance_of?(Integer) end
update_group(group, opts = {})
click to toggle source
# File lib/kanrisuru/core/group.rb, line 71 def update_group(group, opts = {}) gid = opts[:gid] return if Kanrisuru::Util.blank?(gid) || Kanrisuru::Util.blank?(opts[:new_name]) command = Kanrisuru::Command.new("groupmod #{group}") command.append_arg('-g', gid) command.append_arg('-n', opts[:new_name]) execute_shell(command) Kanrisuru::Result.new(command) do gid = Kanrisuru::Util.present?(gid) ? gid : get_gid(group).data Group.new(gid, group) end end