diff options
Diffstat (limited to 'src/file')
-rw-r--r-- | src/file/format/ini.rs | 15 | ||||
-rw-r--r-- | src/file/format/json.rs | 16 | ||||
-rw-r--r-- | src/file/mod.rs | 7 | ||||
-rw-r--r-- | src/file/source/file.rs | 26 |
4 files changed, 29 insertions, 35 deletions
diff --git a/src/file/format/ini.rs b/src/file/format/ini.rs index e5e5950..e5a109f 100644 --- a/src/file/format/ini.rs +++ b/src/file/format/ini.rs @@ -15,22 +15,13 @@ pub fn parse( Some(ref sec) => { let mut sec_map: HashMap<String, Value> = HashMap::new(); for (k, v) in prop.iter() { - sec_map.insert( - k.clone(), - Value::new(uri, ValueKind::String(v.clone())), - ); + sec_map.insert(k.clone(), Value::new(uri, ValueKind::String(v.clone()))); } - map.insert( - sec.clone(), - Value::new(uri, ValueKind::Table(sec_map)), - ); + map.insert(sec.clone(), Value::new(uri, ValueKind::Table(sec_map))); } None => { for (k, v) in prop.iter() { - map.insert( - k.clone(), - Value::new(uri, ValueKind::String(v.clone())), - ); + map.insert(k.clone(), Value::new(uri, ValueKind::String(v.clone()))); } } } diff --git a/src/file/format/json.rs b/src/file/format/json.rs index 0d15070..0ff2beb 100644 --- a/src/file/format/json.rs +++ b/src/file/format/json.rs @@ -22,13 +22,15 @@ fn from_json_value(uri: Option<&String>, value: &serde_json::Value) -> Value { match *value { serde_json::Value::String(ref value) => Value::new(uri, ValueKind::String(value.clone())), - serde_json::Value::Number(ref value) => if let Some(value) = value.as_i64() { - Value::new(uri, ValueKind::Integer(value)) - } else if let Some(value) = value.as_f64() { - Value::new(uri, ValueKind::Float(value)) - } else { - unreachable!(); - }, + serde_json::Value::Number(ref value) => { + if let Some(value) = value.as_i64() { + Value::new(uri, ValueKind::Integer(value)) + } else if let Some(value) = value.as_f64() { + Value::new(uri, ValueKind::Float(value)) + } else { + unreachable!(); + } + } serde_json::Value::Bool(value) => Value::new(uri, ValueKind::Boolean(value)), diff --git a/src/file/mod.rs b/src/file/mod.rs index ebe93bc..73dfad4 100644 --- a/src/file/mod.rs +++ b/src/file/mod.rs @@ -10,8 +10,8 @@ use value::Value; pub use self::format::FileFormat; use self::source::FileSource; -pub use self::source::string::FileSourceString; pub use self::source::file::FileSourceFile; +pub use self::source::string::FileSourceString; #[derive(Clone, Debug)] pub struct File<T> @@ -119,9 +119,6 @@ where // Parse the string using the given format format .parse(uri.as_ref(), &contents) - .map_err(|cause| ConfigError::FileParse { - uri, - cause, - }) + .map_err(|cause| ConfigError::FileParse { uri, cause }) } } diff --git a/src/file/source/file.rs b/src/file/source/file.rs index 57c251f..804d108 100644 --- a/src/file/source/file.rs +++ b/src/file/source/file.rs @@ -58,23 +58,27 @@ impl FileSourceFile { } match format_hint { - Some(format) => for ext in format.extensions() { - filename.set_extension(ext); - - if filename.is_file() { - return Ok((filename, format)); - } - }, - - None => for (format, extensions) in ALL_EXTENSIONS.iter() { + Some(format) => { for ext in format.extensions() { filename.set_extension(ext); if filename.is_file() { - return Ok((filename, *format)); + return Ok((filename, format)); } } - }, + } + + None => { + for (format, extensions) in ALL_EXTENSIONS.iter() { + for ext in format.extensions() { + filename.set_extension(ext); + + if filename.is_file() { + return Ok((filename, *format)); + } + } + } + } } Err(Box::new(io::Error::new( |