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

View File

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