if name is true, substitute it for function_name, if not get '_decorated_function' attribute from func object, if it exists,
function_name = ( name or getattr ( func , '_decorated_function' , func ) . __name__ )