示例#1
0
 // overridden in testing classes
 public virtual IEnumerable <IDirective> BuildDirectives(IDirectiveTypeRegistry typeRegistry)
 {
     return(UniqueDirectiveNames().Select(name =>
     {
         var type = typeRegistry.DirectiveTypeFor(name);
         return GetDirective(type);
     }));
 }
示例#2
0
        public bool Initialize(IDirectiveTypeRegistry registry, AddDirectiveInput input)
        {
            var directiveType = registry.DirectiveTypeFor(input.Directive);
            var directive     = directiveType.Create <IDirective>();

            var hostFile = input.GetHostFileName();

            _fileSystem.WriteToFlatFile(hostFile, file =>
            {
                var writer = new DirectiveWriter(file, new TypeDescriptorCache());
                writer.Write(directive);
            });

            if (input.OpenFlag)
            {
                _fileSystem.LaunchEditor(hostFile);
            }

            return(true);
        }