コード例 #1
0
ファイル: RouteVisitor.cs プロジェクト: moacap/fubumvc
 public void VisitRoute(IRouteDefinition route, BehaviorChain chain)
 {
     if (_behaviorFilters.MatchesAll(chain) && _routeFilters.MatchesAll(route))
     {
         _actions.Do(route, chain);
     }
 }
コード例 #2
0
ファイル: TemplateFinder.cs プロジェクト: GunioRobot/fubumvc
        private ScanRequest buildRequest(ICollection <ITemplate> templates, params SparkRoot[] sparkRoots)
        {
            var request = new ScanRequest();

            _requestConfig.Do(request);

            sparkRoots.Each(r => request.AddRoot(r.Path));
            request.AddHandler(fileFound =>
            {
                var origin    = sparkRoots.First(x => x.Path == fileFound.Root).Origin;
                var sparkFile = new Template(fileFound.Path, fileFound.Root, origin);
                templates.Add(sparkFile);
            });

            return(request);
        }
コード例 #3
0
ファイル: TemplateFinder.cs プロジェクト: GunioRobot/fubumvc
        public IEnumerable <ITemplate> FindInHost()
        {
            var templates = new List <ITemplate>();
            var root      = new SparkRoot
            {
                Origin = FubuSparkConstants.HostOrigin,
                Path   = HostPath
            };

            var request = buildRequest(templates, root);

            _hostExcludes.Do(request);

            _fileScanner.Scan(request);

            return(templates);
        }
コード例 #4
0
ファイル: BehaviorVisitor.cs プロジェクト: moacap/fubumvc
        public void VisitBehavior(BehaviorChain chain)
        {
            if (!_filters.MatchesAll(chain))
            {
                return;
            }

            var matchesDescriptions = _filters.GetDescriptionOfMatches(chain).Join(", ");

            if (matchesDescriptions == string.Empty)
            {
                matchesDescriptions = "(no filters defined)";
            }

            chain.Calls.Each(call => call.Trace("Visiting: {0}. Matched on filters [{1}]", _reasonToVisit, matchesDescriptions));

            _actions.Do(chain);
        }
コード例 #5
0
 public void Configure(TemplateComposer <ITemplate> composer)
 {
     _configurations.Do(composer);
 }
コード例 #6
0
 public void Render(IFubuRequestContext context)
 {
     PreRender.Do(_view);
     _view.Render(context);
     PostRender.Do(_view);
 }
コード例 #7
0
 public void Render()
 {
     PreRender.Do(_view);
     _view.Render();
     PostRender.Do(_view);
 }
コード例 #8
0
ファイル: ScanRequest.cs プロジェクト: rmueller/fubumvc
 public void OnFound(FileFound file)
 {
     _onFound.Do(file);
 }