Method: Mac::Group#group_present

Defined in:
lib/beaker/host/mac/group.rb

#group_present(name, &block) ⇒ Object

Makes sure the group is present, creating it if necessary



67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/beaker/host/mac/group.rb', line 67

def group_present(name, &block)
  group_exists = false
  execute("dscacheutil -q group -a name #{name}") do |result|
    group_exists = result.stdout =~  /^name: #{name}/
  end

  return if group_exists

  gid = gid_next
  create_cmd  =     "dscl . create /Groups/#{name}"
  create_cmd << " && dscl . create /Groups/#{name} PrimaryGroupID #{gid}"
  execute(create_cmd)
end