Ejemplo n.º 1
0
        public static FubuMVC.Swank.Specification.Specification GetSpec(Action <Swank> configure = null)
        {
            var graph            = Behavior.BuildGraph().AddActionsInThisNamespace();
            var moduleConvention = new ModuleConvention(new MarkerConvention <ModuleDescription>());

            var resourceConvention = new ResourceConvention(
                new MarkerConvention <ResourceDescription>(),
                new BehaviorSource(graph, Swank.CreateConfig(x => x.AppliesToThisAssembly().Where(ActionFilter))));

            var configuration = Swank.CreateConfig(x =>
            {
                x.AppliesToThisAssembly().Where(ActionFilter).WithEnumFormat(EnumFormat.AsString);
                if (configure != null)
                {
                    configure(x);
                }
            });
            var typeCache        = new TypeDescriptorCache();
            var memberConvention = new MemberConvention();
            var optionFactory    = new OptionFactory(configuration,
                                                     new EnumConvention(), new OptionConvention());
            var specBuilder = new FubuMVC.Swank.Specification.SpecificationService(
                configuration,
                new BehaviorSource(graph, configuration),
                typeCache,
                moduleConvention,
                resourceConvention,
                new EndpointConvention(),
                memberConvention,
                new StatusCodeConvention(),
                new HeaderConvention(),
                new MimeTypeConvention(),
                new TypeGraphFactory(
                    configuration,
                    typeCache,
                    new TypeConvention(configuration),
                    memberConvention,
                    optionFactory),
                new BodyDescriptionFactory(configuration),
                new OptionFactory(configuration,
                                  new EnumConvention(),
                                  new OptionConvention()));

            return(specBuilder.Generate());
        }
Ejemplo n.º 2
0
        protected FubuMVC.Swank.Specification.Specification BuildSpec <TNamespace>(BehaviorGraph graph, Action <Swank> configure = null)
        {
            var configuration = Swank.CreateConfig(x =>
            {
                if (configure != null)
                {
                    configure(x);
                }

                x.AppliesToThisAssembly()
                .Where(y => y.FirstCall().HandlerType.InNamespace <TNamespace>());
            });

            var behaviorSource     = new BehaviorSource(graph, configuration);
            var resourceConvention = new ResourceConvention(new MarkerConvention <ResourceDescription>(), behaviorSource);
            var moduleConvention   = new ModuleConvention(new MarkerConvention <ModuleDescription>());
            var typeCache          = new TypeDescriptorCache();
            var memberConvention   = new MemberConvention();
            var optionFactory      = new OptionFactory(configuration,
                                                       new EnumConvention(), new OptionConvention());

            return(new FubuMVC.Swank.Specification.SpecificationService(
                       configuration,
                       new BehaviorSource(graph, configuration),
                       typeCache,
                       moduleConvention,
                       resourceConvention,
                       new EndpointConvention(),
                       memberConvention,
                       new StatusCodeConvention(),
                       new HeaderConvention(),
                       new MimeTypeConvention(),
                       new TypeGraphFactory(
                           configuration,
                           typeCache,
                           new TypeConvention(configuration),
                           memberConvention,
                           optionFactory),
                       new BodyDescriptionFactory(configuration),
                       new OptionFactory(configuration,
                                         new EnumConvention(),
                                         new OptionConvention())).Generate());
        }
Ejemplo n.º 3
0
        public static FubuMVC.Swank.Specification.Specification GetSpec(Action<Swank> configure = null)
        {
            var graph = Behavior.BuildGraph().AddActionsInThisNamespace();
            var moduleConvention = new ModuleConvention(new MarkerConvention<ModuleDescription>());

            var resourceConvention = new ResourceConvention(
                new MarkerConvention<ResourceDescription>(),
                new BehaviorSource(graph, Swank.CreateConfig(x => x.AppliesToThisAssembly().Where(ActionFilter))));

            var configuration = Swank.CreateConfig(x =>
                {
                    x.AppliesToThisAssembly().Where(ActionFilter).WithEnumFormat(EnumFormat.AsString);
                    if (configure != null) configure(x);
                });
            var typeCache = new TypeDescriptorCache();
            var memberConvention = new MemberConvention();
            var optionFactory = new OptionFactory(configuration,
                new EnumConvention(), new OptionConvention());
            var specBuilder = new FubuMVC.Swank.Specification.SpecificationService(
                configuration,
                new BehaviorSource(graph, configuration),
                typeCache,
                moduleConvention,
                resourceConvention,
                new EndpointConvention(),
                memberConvention,
                new StatusCodeConvention(),
                new HeaderConvention(),
                new MimeTypeConvention(),
                new TypeGraphFactory(
                    configuration, 
                    typeCache,
                    new TypeConvention(configuration), 
                    memberConvention,
                    optionFactory), 
                new BodyDescriptionFactory(configuration),
                new OptionFactory(configuration,
                    new EnumConvention(), 
                    new OptionConvention()));
            return specBuilder.Generate();
        }
 public void Setup()
 {
     _memberConvention = new MemberConvention();
 }