|
@@ -33,7 +33,7 @@ impl App {
|
33
|
33
|
tld.map(|tld| {
|
34
|
34
|
let word = self.get_random_word(&tld);
|
35
|
35
|
if word.is_some() {
|
36
|
|
- let mut word = word.unwrap();
|
|
36
|
+ let mut word = word.unwrap().to_string();
|
37
|
37
|
word.truncate(word.len() - 2);
|
38
|
38
|
domain = format!("{}.{}", word, tld);
|
39
|
39
|
}
|
|
@@ -49,14 +49,18 @@ impl App {
|
49
|
49
|
.map(|v| String::from(v))
|
50
|
50
|
}
|
51
|
51
|
|
52
|
|
- fn get_random_word(&self, tld: &str) -> Option<String> {
|
|
52
|
+ fn filter_words(&self, tld: &str) -> Vec<&str> {
|
53
|
53
|
self.words
|
54
|
|
- .clone()
|
55
|
|
- .into_iter()
|
|
54
|
+ .iter()
|
56
|
55
|
.filter(|word| word.ends_with(tld))
|
57
|
|
- .collect::<Vec<String>>()
|
|
56
|
+ .map(|i| &i[..])
|
|
57
|
+ .collect()
|
|
58
|
+ }
|
|
59
|
+
|
|
60
|
+ fn get_random_word(&self, tld: &str) -> Option<&str> {
|
|
61
|
+ self.filter_words(tld)
|
58
|
62
|
.choose(&mut rand::thread_rng())
|
59
|
|
- .map(|v| v.to_string().to_lowercase())
|
|
63
|
+ .map(|w| *w)
|
60
|
64
|
}
|
61
|
65
|
}
|
62
|
66
|
|