Method: UnixUser#identity

Defined in:
lib/resources/user.rb

#identity(username) ⇒ Object

extracts the identity



210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
# File 'lib/resources/user.rb', line 210

def identity(username)
  cmd = inspec.command("#{id_cmd} #{username}")
  return nil if cmd.exit_status != 0

  # parse words
  params = SimpleConfig.new(
    parse_id_entries(cmd.stdout.chomp),
    assignment_re: /^\s*([^=]*?)\s*=\s*(.*?)\s*$/,
    group_re: nil,
    multiple_values: false,
  ).params

  {
    uid: convert_to_i(parse_value(params['uid']).keys[0]),
    user: parse_value(params['uid']).values[0],
    gid: convert_to_i(parse_value(params['gid']).keys[0]),
    group: parse_value(params['gid']).values[0],
    groups: parse_value(params['groups']).values,
  }
end