private void TryAddWrappedScript(Type scriptType, ScriptDocumentation documentation)
        {
            var scriptAttributes = scriptType.GetCustomAttributes(typeof(ScriptAttribute), false).Cast<ScriptAttribute>();
            var scriptAttribute = scriptAttributes.FirstOrDefault();

            if (scriptAttribute == null)
            {
                return;
            }

            ParameterInfo parameterInfo = scriptType.GetConstructors().First().GetParameters().First();
            Type[] genericArguments = parameterInfo.ParameterType.GetGenericArguments();

            var name = scriptAttribute.Name;
            var description = scriptAttribute.Description;

            var envDocs = ExtractDocumentation(genericArguments);
            var scriptDoc = new ScriptTypeDocumentation(scriptType, envDocs.Environments.ToArray(), name, description);

            documentation.AddWrappedScript(scriptDoc);

            foreach (var envDoc in envDocs.Environments)
            {
                documentation.AddEnvironment(envDoc.EnvironmentType, envDoc.Name, envDoc.Description);
            }
        }
        private void TryAddWrappedScript(Type scriptType, ScriptDocumentation documentation)
        {
            var scriptAttributes = scriptType.GetCustomAttributes(typeof(ScriptAttribute), false).Cast <ScriptAttribute>();
            var scriptAttribute  = scriptAttributes.FirstOrDefault();

            if (scriptAttribute == null)
            {
                return;
            }

            ParameterInfo parameterInfo = scriptType.GetConstructors().First().GetParameters().First();

            Type[] genericArguments = parameterInfo.ParameterType.GetGenericArguments();

            var name        = scriptAttribute.Name;
            var description = scriptAttribute.Description;

            var envDocs   = ExtractDocumentation(genericArguments);
            var scriptDoc = new ScriptTypeDocumentation(scriptType, envDocs.Environments.ToArray(), name, description);

            documentation.AddWrappedScript(scriptDoc);

            foreach (var envDoc in envDocs.Environments)
            {
                documentation.AddEnvironment(envDoc.EnvironmentType, envDoc.Name, envDoc.Description);
            }
        }
Exemplo n.º 3
0
 public void AddWrappedScript(ScriptTypeDocumentation scriptTypeDocumentation)
 {
     _scripts.Add(scriptTypeDocumentation);
 }
Exemplo n.º 4
0
 public void AddWrappedScript(ScriptTypeDocumentation scriptTypeDocumentation)
 {
     _scripts.Add(scriptTypeDocumentation);
 }