TinySite.Commands.RunRenderCommand.CalculateLastRunState C# (CSharp) Method

CalculateLastRunState() private method

private CalculateLastRunState ( Site site ) : IEnumerable
site TinySite.Models.Site
return IEnumerable
        private IEnumerable<LastRunDocument> CalculateLastRunState(Site site)
        {
            var dt = this.InitialLastRunState.ToDictionary(l => l.Path);

            foreach (var document in site.Documents.Where(d => !d.Cloned && !d.Unmodified))
            {
                var contributors = document.AllContributingFiles()
                    .Select(d => new LastRunContributingFile(d.SourceRelativePath, d.Modified));

                var lastRunDocument = new LastRunDocument(document.SourceRelativePath, document.Modified, contributors);

                dt.Remove(document.SourceRelativePath);

                yield return lastRunDocument;
            }

            foreach (var lrd in dt.Values)
            {
                yield return lrd;
            }
        }