public Specification Generate()
{
var behaviorMappings = GetBehaviorMapping(_behaviors.GetChains());
CheckForOrphanedChains(behaviorMappings);
var modules = GetModules(behaviorMappings.Where(x => x.Module != null).ToList());
var resources = GetResources(behaviorMappings.Where(x => x.Module == null).ToList());
if (resources.Any())
{
modules.Add(new Module
{
Name = Module.DefaultName,
Resources = resources
});
}
var specification = new Specification {
FavIconUrl = _configuration.FavIconUrl,
Title = _configuration.Title ?? _configuration.Name,
Name = _configuration.Name,
LogoUrl = _configuration.LogoUrl,
Comments = _configuration.AppliesToAssemblies.FindTextResourceNamed("*" + _configuration.Comments),
Modules = modules
};
return(specification);
}