| var syrup = require('stf-syrup') |
| var _ = require('lodash') |
| var tr = require('transliteration') |
| |
| module.exports = syrup.serial() |
| .dependency(require('./identity')) |
| .dependency(require('./data')) |
| .define(function(options, identity, data) { |
| function createSlug() { |
| var model = identity.model |
| var name = data ? data.name.id : '' |
| |
| return (name === '' || model.toLowerCase() === name.toLowerCase()) ? |
| tr.slugify(model) : |
| tr.slugify(name + ' ' + model) |
| } |
| |
| var defaults = { |
| publicIp: options.publicIp |
| , serial: options.serial |
| , model: identity.model |
| , name: data ? data.name.id : '' |
| , slug: createSlug() |
| } |
| |
| return function(template, port) { |
| return _.template(template, { |
| imports: { |
| slugify: tr.slugify |
| } |
| })(_.defaults({publicPort: port}, defaults)) |
| } |
| }) |