use CategoryBuilder;
use rss::Category;
use utils::string_utils;
impl CategoryBuilder
{
pub fn new() -> CategoryBuilder
{
CategoryBuilder::default()
}
pub fn name(&mut self, name: &str) -> &mut CategoryBuilder
{
self.name = name.to_owned();
self
}
pub fn domain(&mut self, domain: Option<String>) -> &mut CategoryBuilder
{
self.domain = domain;
self
}
pub fn validate(&mut self) -> Result<&mut CategoryBuilder, String>
{
let domain = self.domain.clone();
if domain.is_some()
{
string_utils::str_to_url(domain.unwrap().as_str())?;
}
Ok(self)
}
pub fn finalize(&self) -> Result<Category, String>
{
Ok(Category {
name: self.name.clone(),
domain: self.domain.clone(),
})
}
}