#[ allow( clippy ::std_instead_of_alloc, clippy ::std_instead_of_core ) ]
mod private
{
use crate :: *;
pub trait WorkspaceMdExtension
{
fn discord_url( &self ) -> Option< String >;
fn master_branch( &self ) -> Option< String >;
fn repository_url( &self ) -> Option< String >;
fn workspace_name( &self ) -> Option< String >;
}
impl WorkspaceMdExtension for Workspace
{
fn discord_url( &self ) -> Option< String >
{
self
.metadata
.workspace_metadata[ "discord_url" ]
.as_str()
.map( std ::string ::ToString ::to_string )
}
fn master_branch( &self ) -> Option< String >
{
self
.metadata
.workspace_metadata
.get( "master_branch" )
.and_then( | b | b.as_str() )
.map( std ::string ::ToString ::to_string )
}
fn repository_url( &self ) -> Option< String >
{
self
.metadata
.workspace_metadata
.get( "repo_url" )
.and_then( | b | b.as_str() )
.map( std ::string ::ToString ::to_string )
}
fn workspace_name( &self ) -> Option< String >
{
self
.metadata
.workspace_metadata
.get( "workspace_name" )
.and_then( | b | b.as_str() )
.map( std ::string ::ToString ::to_string )
}
}
}
crate ::mod_interface!
{
own use WorkspaceMdExtension;
}