summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-05-12 13:13:46 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-05-19 12:13:36 +0000
commitb792e8d9754bc498df6a2cf62beb1740a073af7c (patch)
tree277dd4107116416e98167a1e2f17b9a4dd772e65
parent80231d9ba287c94aca919b10eb4ed38814808adb (diff)
downloadmullvadvpn-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.rs22
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
}
}