Alquimiaware.NuGetUnity.ClassifyPackages.Execute C# (CSharp) Method

Execute() public method

public Execute ( string packagesFolderPath ) : ClassifiedPackages
packagesFolderPath string
return ClassifiedPackages
        public ClassifiedPackages Execute(string packagesFolderPath)
        {
            if (!this.packageProvider.IsPackageSource(packagesFolderPath))
                throw new ArgumentOutOfRangeException(
                    "packagesFolderPath",
                    "The path does not point to a Package Source");

            List<Package> allPackages =
                packageProvider.GetAll(packagesFolderPath);

            var groups = allPackages.GroupBy(p => IsEditor(p));
            var editorGroup = groups.FirstOrDefault(g => g.Key == true);
            var runtimeGroup = groups.FirstOrDefault(g => g.Key == false);

            return new ClassifiedPackages()
            {
                Editor = editorGroup != null ?
                         editorGroup.ToList() :
                         new List<Package>(),
                Runtime = runtimeGroup != null ?
                          runtimeGroup.ToList() :
                          new List<Package>()
            };
        }