Gitter migration: Setup redirects (rollout pt. 3)
[gitter.git] / server / serializers / create-serializer.js
blob0066f3f2fd81043d0685e49179304bf2c0d5840c
1 'use strict';
3 var fs = require('fs');
4 var path = require('path');
6 module.exports = function(serializerDirectory) {
7   var e = {
8     serialize: require('gitter-web-serialization/lib/serialize'),
9     serializeObject: require('gitter-web-serialization/lib/serialize-object')
10   };
12   fs.readdirSync(__dirname + '/' + serializerDirectory).forEach(function(fileName) {
13     if (!/\.js$/.test(fileName)) return;
15     var baseName = path.basename(fileName, '.js');
17     var strategyName = baseName
18       .replace(/\-./g, function(match) {
19         return match[1].toUpperCase();
20       })
21       .replace(/^./, function(match) {
22         return match.toUpperCase();
23       });
25     var Strategy = require('./' + serializerDirectory + '/' + baseName);
26     if (Strategy.prototype) {
27       Strategy.prototype.strategyType = serializerDirectory; // Not ideal
28     }
30     e[strategyName] = Strategy;
31   });
33   return e;