refactor(php): Use `exec_cmd` util(#825)

This commit is contained in:
Thomas O'Donnell 2020-01-12 23:50:25 +01:00 committed by Matan Kushner
parent 0d81694e32
commit 60ce320912
1 changed files with 11 additions and 15 deletions

View File

@ -1,8 +1,7 @@
use std::process::Command;
use super::{Context, Module, RootModuleConfig, SegmentConfig}; use super::{Context, Module, RootModuleConfig, SegmentConfig};
use crate::configs::php::PhpConfig; use crate::configs::php::PhpConfig;
use crate::utils;
/// Creates a module with the current PHP version /// Creates a module with the current PHP version
/// ///
@ -20,8 +19,16 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
return None; return None;
} }
match get_php_version() { match utils::exec_cmd(
Some(php_version) => { "php",
&[
"-r",
"echo PHP_MAJOR_VERSION.'.'.PHP_MINOR_VERSION.'.'.PHP_RELEASE_VERSION;",
],
) {
Some(php_cmd_output) => {
let php_version = php_cmd_output.stdout;
let mut module = context.new_module("php"); let mut module = context.new_module("php");
let config: PhpConfig = PhpConfig::try_load(module.config); let config: PhpConfig = PhpConfig::try_load(module.config);
@ -37,17 +44,6 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
} }
} }
fn get_php_version() -> Option<String> {
match Command::new("php")
.arg("-r")
.arg("echo PHP_MAJOR_VERSION.'.'.PHP_MINOR_VERSION.'.'.PHP_RELEASE_VERSION;")
.output()
{
Ok(output) => Some(String::from_utf8(output.stdout).unwrap()),
Err(_) => None,
}
}
fn format_php_version(php_version: &str) -> Option<String> { fn format_php_version(php_version: &str) -> Option<String> {
let mut formatted_version = String::with_capacity(php_version.len() + 1); let mut formatted_version = String::with_capacity(php_version.len() + 1);
formatted_version.push('v'); formatted_version.push('v');