Goal: Create a combination of emails based from inputted first name, last name, middle name, and a domain. Add in common separators. Then I'll check which one is correct with the rapportive API. This is the first part of the bigger script.
If you are given the string
variables
{fn}
{ln}
{fi}
{li}
{mi}
{mn}
How would you create the following?
{fn}
{ln}
{fn}{ln}
{fn}.{ln}
{fi}{ln}
{fi}.{ln}
{fn}{li}
{fn}.{li}
{fi}{li}
{fi}.{li}
{ln}{fn}
{ln}.{fn}
{ln}{fi}
{ln}.{fi}
{li}{fn}
{li}.{fn}
{li}{fi}
{li}.{fi}
{fi}{mi}{ln}
{fi}{mi}.{ln}
{fn}{mi}{ln}
{fn}.{mi}.{ln}
{fn}{mn}{ln}
{fn}.{mn}.{ln}
{fn}-{ln}
{fi}-{ln}
{fn}-{li}
{fi}-{li}
{ln}-{fn}
{ln}-{fi}
{li}-{fn}
{li}-{fi}
{fi}{mi}-{ln}
{fn}-{mi}-{ln}
{fn}-{mn}-{ln}
{fn}_{ln}
{fi}_{ln}
{fn}_{li}
{fi}_{li}
{ln}_{fn}
{ln}_{fi}
{li}_{fn}
{li}_{fi}
{fi}{mi}_{ln}
{fn}_{mi}_{ln}
{fn}_{mn}_{ln}
at the moment I am solving it by creating an array
for each permutation
fi_perms = [fi].product ['_' + li,
'_' + ln,
'-' +li,
'-' ln,
'.' + li,
'.' + ln,
li,
ln,
mi '_' ln,
mi '-' ln,
mi + '.' + ln,
mi + ln]
fn_perms = [fn].product ['_' + li,
'_' + ln,
'_' + mi '_' + ln,
'_' + mn '_' + ln,
'-' + li,
'-' + ln,
'-' + mi + '-' + ln,
'-' + mn + '-' ln,
'.' + li,
'.' + ln,
'.' + mi '.' +ln,
'.' + mn '.' ln,
li,
ln,
mi + ln,
ln,
mi + ln,
mn + ln]
li_perms = [li].product ['_' + fi,
'_' + fn,
'-' + fi,
'-' + fn,
'.' + fi,
'.' + fn,
fi,
fn]
ln_perms = [ln].product [ln,
'_' + fi,
'_' + fn,
'-' + fi,
'-' + fn,
'.' + fi,
'.' + fn,
fi,
fn]
because I will be using it later by adding it to another array like so
perms = li_perms + ln_perms + fi_perms + fn_perms
permutations = []
perms.count.times do |i|
perms.each do |perm|
permutations[i] = perm.join
end
end
permutations[0] = ['fn.mn.ln']
Is there a better of doing this?
{fn}{mi}{ln}
be{fn}.{mi}{ln}
? and is the order required in that way exactly? \$\endgroup\$ – Vogel612♦ Mar 4 '14 at 10:32