Refactor.

This commit is contained in:
chriseth 2019-05-07 14:40:53 +02:00
parent 1dc7ede233
commit dfe07867e0
2 changed files with 18 additions and 22 deletions

View File

@ -37,18 +37,8 @@ Whiskers::Whiskers(string _template):
Whiskers& Whiskers::operator()(string _parameter, string _value)
{
assertThrow(
m_parameters.count(_parameter) == 0,
WhiskersError,
_parameter + " already set."
);
assertThrow(
m_listParameters.count(_parameter) == 0,
WhiskersError,
_parameter + " already set as list parameter."
);
checkParameterUnknown(_parameter);
m_parameters[move(_parameter)] = move(_value);
return *this;
}
@ -57,18 +47,8 @@ Whiskers& Whiskers::operator()(
vector<map<string, string>> _values
)
{
assertThrow(
m_listParameters.count(_listParameter) == 0,
WhiskersError,
_listParameter + " already set."
);
assertThrow(
m_parameters.count(_listParameter) == 0,
WhiskersError,
_listParameter + " already set as value parameter."
);
checkParameterUnknown(_listParameter);
m_listParameters[move(_listParameter)] = move(_values);
return *this;
}
@ -77,6 +57,20 @@ string Whiskers::render() const
return replace(m_template, m_parameters, m_listParameters);
}
void Whiskers::checkParameterUnknown(string const& _parameter)
{
assertThrow(
!m_parameters.count(_parameter),
WhiskersError,
_parameter + " already set as value parameter."
);
assertThrow(
!m_listParameters.count(_parameter),
WhiskersError,
_parameter + " already set as list parameter."
);
}
string Whiskers::replace(
string const& _template,
StringMap const& _parameters,

View File

@ -70,6 +70,8 @@ public:
std::string render() const;
private:
void checkParameterUnknown(std::string const& _parameter);
static std::string replace(
std::string const& _template,
StringMap const& _parameters,