diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..b0db9b0
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..319f9a8
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..04c84fc
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/username-generator.iml b/.idea/username-generator.iml
new file mode 100644
index 0000000..8827aa4
--- /dev/null
+++ b/.idea/username-generator.iml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..b93903f
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,249 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ user_hash
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+ false
+ true
+ true
+
+
+ true
+ DEFINITION_ORDER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1505255714775
+
+
+ 1505255714775
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/username.rb b/username.rb
index 21fa043..7564b93 100644
--- a/username.rb
+++ b/username.rb
@@ -2,13 +2,110 @@
# Run `rspec /spec/username_spec.rb` to get started.
def format_name(first, last)
- nil
+ if last.length < 1 || first.length < 1
+ nil
+ else
+ first_name = ''
+ regex = /[a-zA-Z]/
+ first.split("").each do |first_char|
+ if first_char =~ regex
+ first_name += first_char
+ end
+ end
+ last_name = ''
+ last.split("").each do |character|
+ if character =~ regex
+ last_name += character
+ end
+ end
+ first_name[0].downcase + last_name.downcase.delete(" ")
+ end
+
+end
+
+def format_year(year)
+ string_year = year.to_s.split("")
+ if string_year.length != 4
+ else
+ string_year[2] + string_year[3]
+ end
+end
+
+def build_username(first, last, year, level=0)
+ level = level.floor
+ priv = ""
+ if level > 3
+ level = 3
+ elsif level < 0
+ level = 0
+ end
+ if level == 0
+ priv = ""
+ elsif level == 1
+ priv = "seller-"
+ elsif level == 2
+ priv = "manager-"
+ elsif level == 3
+ priv = "admin-"
+ else
+ priv = ""
+ end
+ string_year = year.to_s.split("")
+ priv + first.split("")[0].downcase+last.downcase + string_year[2] + string_year[3]
+end
+
+def check_privilege(level=0)
+ level = level.floor
+ if level > 3
+ level = 3
+ elsif level < 0
+ level = 0
+ end
+ if level == 0
+ "user"
+ elsif level == 1
+ "seller"
+ elsif level == 2
+ "manager"
+ elsif level == 3
+ "admin"
+ else
+ "user"
+ end
end
-def format_year
- nil
+def user_type_prefix(level=0)
+ level = level.floor
+ if level > 3
+ level = 3
+ elsif level < 0
+ level = 0
+ end
+ if level == 0
+ ""
+ elsif level == 1
+ "seller-"
+ elsif level == 2
+ "manager-"
+ elsif level == 3
+ "admin-"
+ else
+ ""
+ end
end
-def build_username
- nil
+$user_hash = Hash.new(0)
+def generate_username(first, last, year, level=0)
+ string_year = year.to_s.split("")
+ username = first.split("")[0].downcase+last.downcase + string_year[2] + string_year[3]
+
+ if $user_hash.key?(username) == false
+ $user_hash[username] = 1
+ else
+ username2 = username
+ username = username + "_" + $user_hash[username].to_s
+ $user_hash[username2] += 1
+ end
+ username
+
end
diff --git a/warmup.rb b/warmup.rb
index b343bb8..ba96aec 100644
--- a/warmup.rb
+++ b/warmup.rb
@@ -1,17 +1,22 @@
# 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
- "z"
+def first_char(word)
+ split_word = word.split("")
+ split_word[0].downcase
end
-def polly_wanna
- "crackercrackercracker"
-end
+def polly_wanna(word)
+ word*4
+ end
+
+def after_you
+ "no, after you"
+end
\ No newline at end of file