Exemple #1
0
        void IDescriptionVisitor.Start(Description description)
        {
            if (_level == 0)
            {
                _report.AddDivider('=');
                _report.AddText(description.ToString());
                _report.AddDivider('=');

                writeProperties(4, description);

                writeChildren(4, description);
            }
            else
            {
                var prefix = _prefixes.Peek().GetPrefix();
                var indent = prefix.Length;
                if (_childName.IsNotEmpty())
                {
                    prefix  = prefix + _childName + ":";
                    indent += 5;
                }

                var firstColumn = _childName.IsEmpty() ? prefix : prefix + _childName + ":";
                _report.AddColumnData(firstColumn, description.Title, description.ShortDescription ?? string.Empty);



                writeProperties(indent, description);
                writeChildren(indent, description);
            }
        }
Exemple #2
0
        public void add_dividers_and_jagged_columns()
        {
            var report = new TextReport();

            report.AddDivider('=');
            report.StartColumns(3);
            report.AddText("This is the header");
            report.AddDivider('=');

            report.AddColumnData("a1***", "b1", "c1");
            report.AddColumnData("a2", "b2***", "c2");
            report.AddColumnData("a3", "b3", "c3***");
            report.AddDivider('=');

            var writer = new StringWriter();

            report.Write(writer);

            Debug.WriteLine(writer.ToString());

            writer.ToString().ShouldEqualWithLineEndings(@"
=========================
This is the header
=========================
a1***     b1        c1   
a2        b2***     c2   
a3        b3        c3***
=========================
");
        }
        private static void writePreview(ISnippetCache cache)
        {
            var writer = new TextReport();

            writer.StartColumns(2);

            writer.AddColumnData("Name", "File");
            writer.AddDivider('-');

            cache.All().Each(snippet => { writer.AddColumnData(snippet.Name, snippet.File); });

            writer.WriteToConsole();
        }
Exemple #4
0
        private static TextReport displayTimings(IEnumerable <TimedStep> ordered)
        {
            var writer = new TextReport();

            writer.StartColumns(new Column(ColumnJustification.left, 0, 3), new Column(ColumnJustification.right, 0, 3),
                                new Column(ColumnJustification.right, 0, 3), new Column(ColumnJustification.right, 0, 3));
            writer.AddColumnData("Description", "Start", "Finish", "Duration");
            writer.AddDivider('-');

            ordered.Each(
                x => { writer.AddColumnData(x.Text, x.Start.ToString(), x.Finished.ToString(), x.Duration().ToString()); });

            return(writer);
        }
        private static void writeProperties(StringWriter writer)
        {
            var report = new TextReport();

            report.StartColumns(2);

            if (FubuMvcPackageFacility.Restarted.HasValue)
            {
                report.AddColumnData("Restarted", FubuMvcPackageFacility.Restarted.ToString());
            }
            report.AddColumnData("Application Path", FubuMvcPackageFacility.GetApplicationPath());

            report.Write(writer);

            writer.WriteLine();
        }
        private static void writeProperties(StringWriter writer, FubuRuntime runtime)
        {
            var report = new TextReport();

            report.StartColumns(2);

            if (runtime.Restarted.HasValue)
            {
                report.AddColumnData("Restarted", runtime.Restarted.ToString());
            }
            report.AddColumnData("Application Path", runtime.Files.RootPath);

            report.Write(writer);

            writer.WriteLine();
        }
Exemple #7
0
        private static TextReport startReport()
        {
            var report = new TextReport();

            report.StartColumns(2);
            report.AddColumnData("Url", "File");
            report.AddDivider('-');
            return(report);
        }
        private static void writePreview(IEnumerable <string> documentsFolders)
        {
            ConsoleWriter.Write(ConsoleColor.Cyan, "Writing snippet preview, can take a little while to find the snippets....");
            Console.WriteLine();

            var snippets = documentsFolders.Select(buildCache).SelectMany(x => x.All())
                           .OrderBy(x => x.Name).GroupBy(x => x.Name + "/" + x.File).Select(x => x.First());

            var report = new TextReport();

            report.AddDivider('-');
            report.StartColumns(2);
            report.AddColumnData("Name", "File");
            report.AddDivider('-');

            snippets.Each(x => report.AddColumnData(x.Name, x.File.PathRelativeTo(Environment.CurrentDirectory)));

            report.WriteToConsole();
        }
        private static void processDirectory(SnippetsInput input, string directory)
        {
            ConsoleWriter.Write(ConsoleColor.White, "Processing code snippets for " + directory);

            ISnippetCache cache = buildCache(directory);

            if (input.ScanFlag)
            {
                writePreview(cache);
            }



            string snippets = directory.AppendPath("snippets");

            fileSystem.DeleteDirectory(snippets);

            string srcDirectory = Environment.CurrentDirectory.AppendPath("src");


            Console.WriteLine("Moving snippet files to " + snippets);
            var writer = new TextReport();

            writer.StartColumns(2);
            writer.AddColumnData("Source", "Destination");
            writer.AddDivider('-');

            cache.All().Each(snippet =>
            {
                string relative = snippet.File.PathRelativeTo(srcDirectory).ParentDirectory();
                string newPath  = snippets.AppendPath(relative);

                writer.AddColumnData(snippet.File, newPath);

                fileSystem.CopyToDirectory(snippet.File, newPath);
            });

            if (!input.QuietFlag)
            {
                writer.WriteToConsole();
            }
        }
Exemple #10
0
        public override bool Execute(SnippetsInput input)
        {
            var cache = buildCache(input);

            if (input.ScanFlag)
            {
                writePreview(cache);

                return(true);
            }

            var directory = input.DetermineDocumentsFolder();
            var snippets  = directory.AppendPath("snippets");

            var fileSystem = new FileSystem();

            fileSystem.DeleteDirectory(snippets);

            var srcDirectory = ".".ToFullPath().AppendPath("src");


            Console.WriteLine("Moving snippet files to " + snippets);
            var writer = new TextReport();

            writer.StartColumns(2);
            writer.AddColumnData("Source", "Destination");
            writer.AddDivider('-');

            cache.All().Each(snippet => {
                var relative = snippet.File.PathRelativeTo(srcDirectory).ParentDirectory();
                var newPath  = snippets.AppendPath(relative);

                writer.AddColumnData(snippet.File, newPath);

                fileSystem.CopyToDirectory(snippet.File, newPath);
            });

            writer.WriteToConsole();

            return(true);
        }
 void IDescriptionVisitor.Start(Description description)
 {
     if (_level == 0)
     {
         _report.AddDivider('=');
         _report.AddText(description.ToString());
         _report.AddDivider('=');
     }
     else
     {
         _report.AddColumnData(_prefixes.Peek().GetPrefix() + description.Title, description.ShortDescription);
     }
 }
Exemple #12
0
        public BindingReportTextWriter(BindingReport binding, bool showValues)
        {
            _showValues = showValues;

            addDivider();
            _report.AddText("Binding report for " + binding.ModelType.FullName);
            addDivider();

            if (showValues)
            {
                _report.StartColumns(3);
                _report.AddColumnData("Property", "Handler", "Values ('[RawValue]' from '[Source]'/[RawKey])");
            }
            else
            {
                _report.StartColumns(2);
                _report.AddColumnData("Property", "Handler");
            }

            addDivider();

            binding.AcceptVisitor(this);
            addDivider();
        }
        private static void writeAssemblies(StringWriter writer)
        {
            var report = new TextReport();

            report.StartColumns(3);
            report.AddDivider('-');
            report.AddText("Assemblies");
            report.AddDivider('-');

            AppDomain.CurrentDomain.GetAssemblies().Each(assem => {
                var assemblyName = assem.GetName();
                var file         = findCodebase(assem);
                report.AddColumnData(assemblyName.Name, assemblyName.Version.ToString(), file);
            });

            report.AddDivider('-');
            report.Write(writer);

            writer.WriteLine();
        }
Exemple #14
0
        public void Write(EmbeddedFubuMvcServer server, ExportInput input, TextReport report)
        {
            var localPath      = ToLocalPath(input.Output);
            var localDirectory = localPath.ParentDirectory();

            try
            {
                fileSystem.CreateDirectory(localDirectory); // Just making sure

                var client = new WebClient();
                var url    = server.BaseAddress.AppendUrl(RelativePath);
                client.DownloadFile(url, localPath);

                report.AddColumnData(RelativePath, localPath);
            }
            catch (Exception e)
            {
                ConsoleWriter.Write(ConsoleColor.Red, "Failed to write {0} to {1}".ToFormat(RelativePath, localPath));
                Console.WriteLine(e);

                throw;
            }
        }