public NANCYRestModule(IDataStorage dataStorage, ILogger logger, IRamlDocument ramlDoc)
        {
            this.dataStorage = dataStorage;
            this.logger = logger;
            this.ramlDoc = ramlDoc;

            //selecting only Post without parameter as the last element of the path  (i.e. /movies )
            //selecting Get, Put and Delete with a parameter (some kind of id) as the as last element of the path (i.e. /movies/{id} )
            var requests = from r in ramlDoc.RamlResources
                           from m in r.RamlMethods
                           where (m.Verb == "post" && r.Path.Last() != '}') ||
                                 (m.Verb == "put" || m.Verb == "delete" || m.Verb == "get") && r.Path.Last() == '}'
                           select new RequestDetails(r, m);


            foreach (var request in requests)
            {
                switch (request.Verb)
                {
                    case "post":
                        Post[request.Path] = param => processRequest(param, request, new Func<DataModel, DataModel>(dataStorage.Insert), new Func<DataModel, RequestDetails, Response>(processResp));
                        break;
                    case "get":
                        Get[request.Path] = param => processRequest(param, request, new Func<DataModel, DataModel>(dataStorage.Get), new Func<DataModel, RequestDetails, Response>(processResp));
                        break;
                    case "put":
                        Put[request.Path] = param => processRequest(param, request, new Func<DataModel, DataModel>(dataStorage.Update), new Func<DataModel, RequestDetails, Response>(processResp));
                        break;
                    case "delete":
                        Delete[request.Path] = param => processRequest(param, request, new Func<DataModel, DataModel>(dataStorage.Delete), new Func<DataModel, RequestDetails, Response>(processResp));
                        break;

                }
            }
        }
 public RAMLDocWrapperTest()
 {
     testRaml = new RamlDocWrapper("test.raml");
 }