// overridden in testing classes public virtual IEnumerable <IDirective> BuildDirectives(IDirectiveTypeRegistry typeRegistry) { return(UniqueDirectiveNames().Select(name => { var type = typeRegistry.DirectiveTypeFor(name); return GetDirective(type); })); }
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); }