Class: UserErrorParser

Inherits:
Object
  • Object
show all
Defined in:
app/services/user_error_parser.rb

Class Method Summary collapse

Class Method Details

.csv_users(errors_str) ⇒ Object



4
5
6
7
8
9
# File 'app/services/user_error_parser.rb', line 4

def csv_users(errors_str)
  users = parse(errors_str)
  "uid,email,given_name,family_name,display_name,eligible_sponsor," \
  "eligible_manager,superuser,sysadmin,tester_trainer,DateAdded,AddedBy,Notes\n" \
  "#{users.join("\n")}"
end

.parse(errors_str) ⇒ Object



11
12
13
14
15
16
17
18
# File 'app/services/user_error_parser.rb', line 11

def parse(errors_str)
  errors = errors_str.split("\n")
  roles = errors.map { |error| parse_line(error) }.flatten
  user_roles = roles.group_by { |role| role[:uid] }
  user_roles.map do |uid, user_role|
    "#{uid},,,,,#{sponsor_flag(user_role)},#{manager_flag(user_role)},,,,#{report_date},ImportProcess,\"Capacity Early Adopter\""
  end
end