let path = &arg_path.unwrap_or_else(|| String::from("."));
let opts = ops::NewOptions::new(flag_vcs,
- flag_bin,
- flag_lib,
- path,
- flag_name.as_ref().map(|s| s.as_ref()));
+ flag_bin,
+ flag_lib,
+ path,
+ flag_name.as_ref().map(|s| s.as_ref()));
let opts_lib = opts.lib;
ops::init(&opts, config)?;
- config.shell().status("Created", format!("{} project",
- if opts_lib { "library" }
- else {"binary (application)"}))?;
+ let project_kind = if opts_lib { "library" } else { "binary (application)" };
+ config.shell().status("Created", format!("{} project", project_kind))?;
Ok(())
}
let opts_lib = opts.lib;
ops::new(&opts, config)?;
- config.shell().status("Created", format!("{} `{}` project",
- if opts_lib { "library" }
- else {"binary (application)"},
- arg_path))?;
+ let project_kind = if opts_lib { "library" } else { "binary (application)" };
+ config.shell().status("Created", format!("{} `{}` project", project_kind, arg_path))?;
Ok(())
}
impl<'a> NewOptions<'a> {
pub fn new(version_control: Option<VersionControl>,
- bin: bool,
- lib: bool,
- path: &'a str,
- name: Option<&'a str>) -> NewOptions<'a> {
+ bin: bool,
+ lib: bool,
+ path: &'a str,
+ name: Option<&'a str>) -> NewOptions<'a> {
// default to lib
- let is_lib = if !bin {
- true
- }
- else {
- lib
- };
+ let is_lib = !bin || lib;
NewOptions {
- version_control: version_control,
- bin: bin,
+ version_control,
+ bin,
lib: is_lib,
- path: path,
- name: name,
+ path,
+ name,
}
}
}