diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-05-12 13:13:46 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-05-19 12:13:36 +0000 |
| commit | b792e8d9754bc498df6a2cf62beb1740a073af7c (patch) | |
| tree | 277dd4107116416e98167a1e2f17b9a4dd772e65 | |
| parent | 80231d9ba287c94aca919b10eb4ed38814808adb (diff) | |
| download | mullvadvpn-b792e8d9754bc498df6a2cf62beb1740a073af7c.tar.xz mullvadvpn-b792e8d9754bc498df6a2cf62beb1740a073af7c.zip | |
Refactor to create a helper method
Make that part of the code a bit clearer by moving it into a new method
that has a clear name.
| -rw-r--r-- | android/translations-converter/src/android/string_value.rs | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/android/translations-converter/src/android/string_value.rs b/android/translations-converter/src/android/string_value.rs index 735bc1f9d0..b0bff135a4 100644 --- a/android/translations-converter/src/android/string_value.rs +++ b/android/translations-converter/src/android/string_value.rs @@ -18,15 +18,27 @@ impl StringValue { .replace("\"", "\\\"") .replace(r"'", r"\'"); - let mut parts = value_with_parameters.split("%"); - let mut value = parts.next().unwrap().to_owned(); + let value = Self::ensure_parameters_are_indexed(value_with_parameters); + + StringValue(value) + } + + /// This helper method ensures parameters are in the form of `%4$d`, i.e., it will ensure that + /// there is the `<number>$` part. + /// + /// A typical input would be something like `Things are %d, %3$s and %s`, and this method + /// would update the string so that all parameters have indices: `Things are %1$d, %3$s and + /// %4$s`. + fn ensure_parameters_are_indexed(original: String) -> String { + let mut parts = original.split("%"); + let mut output = parts.next().unwrap().to_owned(); for (index, part) in parts.enumerate() { - value.push_str(&format!("%{}$", index + 1)); - value.push_str(part); + output.push_str(&format!("%{}$", index + 1)); + output.push_str(part); } - StringValue(value) + output } } |
