public LiquidViewsFeatureProvider(
            ILiquidViewFileProviderAccessor fileProviderAccessor,
            IOptions <ExtensionExpanderOptions> expanderOptionsAccessor)
        {
            if (_sharedPaths != null)
            {
                return;
            }

            lock (_synLock)
            {
                if (_sharedPaths == null)
                {
                    _sharedPaths = new List <string>();

                    foreach (var option in expanderOptionsAccessor.Value.Options)
                    {
                        var filePaths = fileProviderAccessor.FileProvider.GetViewFilePaths(
                            option.SearchPath, new[] { LiquidViewTemplate.ViewExtension },
                            LiquidViewTemplate.ViewsFolder);

                        _sharedPaths.AddRange(filePaths.Select(p => '/' + p));
                    }
                }
            }
        }
        public LiquidViewsFeatureProvider(
            IHostingEnvironment hostingEnvironment,
            ILiquidViewFileProviderAccessor fileProviderAccessor)
        {
            _hostingEnvironment = hostingEnvironment;

            if (_sharedPaths != null)
            {
                return;
            }

            lock (_synLock)
            {
                if (_sharedPaths == null)
                {
                    _sharedPaths = new List <string>();

                    var filePaths = fileProviderAccessor.FileProvider.GetViewFilePaths(
                        Application.ModulesPath, new[] { LiquidViewTemplate.ViewExtension },
                        LiquidViewTemplate.ViewsFolder);

                    _sharedPaths.AddRange(filePaths.Select(p => '/' + p));
                }
            }
        }
Exemplo n.º 3
0
 public LiquidShapeTemplateOptionsSetup(ILiquidViewFileProviderAccessor fileProviderAccessor)
 {
     _fileProviderAccessor = fileProviderAccessor ?? throw new ArgumentNullException(nameof(fileProviderAccessor));
 }