From e485cff9da06f4dd76e3dd86b3af7ac3049971d1 Mon Sep 17 00:00:00 2001 From: conmart Date: Tue, 12 Sep 2017 15:47:48 -0700 Subject: [PATCH 1/8] first two warmups working --- warmup.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/warmup.rb b/warmup.rb index b343bb8..2ee194a 100644 --- a/warmup.rb +++ b/warmup.rb @@ -1,11 +1,11 @@ # Run `rspec spec/the_warmup_spec.rb` to get started. def say_hello - "hi" + "hello" end def scream(message) - message + message.upcase end def first_char From 85407a9ebb71dea105e54ed327a523c63948fca5 Mon Sep 17 00:00:00 2001 From: conmart Date: Tue, 12 Sep 2017 15:56:30 -0700 Subject: [PATCH 2/8] warmups all working --- warmup.rb | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/warmup.rb b/warmup.rb index 2ee194a..d6a07a6 100644 --- a/warmup.rb +++ b/warmup.rb @@ -5,13 +5,18 @@ def say_hello end def scream(message) - message.upcase + message.upcase + "!" end -def first_char - "z" +def first_char(string) + string[0].downcase end -def polly_wanna - "crackercrackercracker" +def polly_wanna(word) + word*3 +end + + +def after_you + "no, after you" end From 877e6428860c8e9d9a088e4461ec68d17547b247 Mon Sep 17 00:00:00 2001 From: conmart Date: Tue, 12 Sep 2017 16:15:46 -0700 Subject: [PATCH 3/8] format_name works --- username.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/username.rb b/username.rb index 21fa043..9e483e0 100644 --- a/username.rb +++ b/username.rb @@ -2,7 +2,12 @@ # Run `rspec /spec/username_spec.rb` to get started. def format_name(first, last) - nil + if (first == "" || last == "") + nil + else + (first.gsub(/\s+/, "")[0] + last.gsub(/\s+/, "")).downcase + # (first.gsub(/[^a-z]/, "")[0] + last.gsub(/[^a-z]/, "")).downcase + end end def format_year From c0c696e3b5f8d8c65b495b34f2caf879f5d1aaf1 Mon Sep 17 00:00:00 2001 From: conmart Date: Tue, 12 Sep 2017 23:00:36 -0700 Subject: [PATCH 4/8] only 1 fail --- username.rb | 55 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 51 insertions(+), 4 deletions(-) diff --git a/username.rb b/username.rb index 9e483e0..9883c88 100644 --- a/username.rb +++ b/username.rb @@ -1,6 +1,8 @@ # Make sure to run the tests in your /spec folder # Run `rspec /spec/username_spec.rb` to get started. + + def format_name(first, last) if (first == "" || last == "") nil @@ -10,10 +12,55 @@ def format_name(first, last) end end -def format_year - nil +def format_year(year) + str = year.to_s + str.length == 4 ? str.slice(2,3) : nil +end + +def check_privilege(num = 0) + rounded_num = num.floor + if rounded_num == 1 + "seller" + elsif rounded_num == 2 + "manager" + elsif rounded_num >= 3 + "admin" + else + "user" + end +end + + +def user_type_prefix (num = 0) + if (check_privilege(num) == "user") + "" + else + check_privilege(num) + "-" + end +end + + +def build_username(first, last, year, privilege = 0) + user_type_prefix(privilege) + format_name(first, last) + format_year(year) end -def build_username - nil + +$list_of_usernames = [] + +def generate_username(first, last, year, privilege = 0) + created_username = build_username(first, last, year, privilege) + if $list_of_usernames.include? created_username + count = 1 + while $list_of_usernames.include? created_username + if count > 1 + created_username.slice!(-1) + created_username.slice!(-1) + end + created_username = created_username + "_#{count}" + count += 1 + end + end + $list_of_usernames.push(created_username) + created_username + end From 862db382ae892a29b984ea1acc1416f49ce97fa5 Mon Sep 17 00:00:00 2001 From: conmart Date: Tue, 12 Sep 2017 23:20:49 -0700 Subject: [PATCH 5/8] got bonus option 2 but pretty janky --- username.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/username.rb b/username.rb index 9883c88..42678d5 100644 --- a/username.rb +++ b/username.rb @@ -1,14 +1,19 @@ # Make sure to run the tests in your /spec folder # Run `rspec /spec/username_spec.rb` to get started. +$argument_list = [] +ARGV.each do|a| + # puts "Argument: #{a}" + $argument_list.push(a) +end def format_name(first, last) if (first == "" || last == "") nil else (first.gsub(/\s+/, "")[0] + last.gsub(/\s+/, "")).downcase - # (first.gsub(/[^a-z]/, "")[0] + last.gsub(/[^a-z]/, "")).downcase + #(first.gsub(/[^a-z]/, "")[0] + last.gsub(/[^a-z]/, "")).downcase end end @@ -64,3 +69,7 @@ def generate_username(first, last, year, privilege = 0) created_username end + +if $argument_list.length > 2 && $argument_list.length < 5 + puts generate_username($argument_list[0], $argument_list[1], $argument_list[2]) +end From 27535de2527fce8c7140a88b7169dcd306dae603 Mon Sep 17 00:00:00 2001 From: conmart Date: Tue, 12 Sep 2017 23:24:47 -0700 Subject: [PATCH 6/8] peeked at solutions --- username.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/username.rb b/username.rb index 42678d5..8ca100c 100644 --- a/username.rb +++ b/username.rb @@ -12,8 +12,8 @@ def format_name(first, last) if (first == "" || last == "") nil else - (first.gsub(/\s+/, "")[0] + last.gsub(/\s+/, "")).downcase - #(first.gsub(/[^a-z]/, "")[0] + last.gsub(/[^a-z]/, "")).downcase + # (first.gsub(/\s+/, "")[0] + last.gsub(/\s+/, "")).downcase + (first.gsub(/[^A-Za-z]/, "")[0] + last.gsub(/[^A-Za-z]/, "")).downcase end end From efd802a414b923f70dac283b3d00f8dd7c4afb88 Mon Sep 17 00:00:00 2001 From: conmart Date: Wed, 13 Sep 2017 09:04:11 -0700 Subject: [PATCH 7/8] fixed the bonus --- username.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/username.rb b/username.rb index 8ca100c..5716add 100644 --- a/username.rb +++ b/username.rb @@ -70,6 +70,8 @@ def generate_username(first, last, year, privilege = 0) end -if $argument_list.length > 2 && $argument_list.length < 5 +if $argument_list.length == 3 puts generate_username($argument_list[0], $argument_list[1], $argument_list[2]) +elsif $argument_list.length == 4 + puts generate_username($argument_list[0], $argument_list[1], $argument_list[2], $argument_list[3]) end From 5dfcb05d992ae73034fbac8a50d241a4d1b36ae1 Mon Sep 17 00:00:00 2001 From: conmart Date: Wed, 13 Sep 2017 09:06:07 -0700 Subject: [PATCH 8/8] fixed bonus for real --- username.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/username.rb b/username.rb index 5716add..7357fbc 100644 --- a/username.rb +++ b/username.rb @@ -73,5 +73,5 @@ def generate_username(first, last, year, privilege = 0) if $argument_list.length == 3 puts generate_username($argument_list[0], $argument_list[1], $argument_list[2]) elsif $argument_list.length == 4 - puts generate_username($argument_list[0], $argument_list[1], $argument_list[2], $argument_list[3]) + puts generate_username($argument_list[0], $argument_list[1], $argument_list[2], $argument_list[3].to_i) end