Ghost/ghost/admin/app/models/slug-generator.js
Kevin Ansfield 2f4f6db133 Use es6 across client and add ember-suave to enforce rules
no issue
- add ember-suave dependency
- upgrade grunt-jscs dependency
- add a new .jscsrc for the client's tests directory that extends from client's base .jscsrc
- separate client tests in Gruntfile jscs task so they pick up the test's .jscsrc
- standardize es6 usage across client
2015-11-30 10:41:01 +00:00

37 lines
776 B
JavaScript

import Ember from 'ember';
import {request as ajax} from 'ic-ajax';
const {RSVP, inject} = Ember;
export default Ember.Object.extend({
slugType: null,
value: null,
ghostPaths: inject.service('ghost-paths'),
toString() {
return this.get('value');
},
generateSlug(textToSlugify) {
let url;
if (!textToSlugify) {
return RSVP.resolve('');
}
url = this.get('ghostPaths.url').api('slugs', this.get('slugType'), encodeURIComponent(textToSlugify));
return ajax(url, {
type: 'GET'
}).then((response) => {
let [firstSlug] = response.slugs;
let {slug} = firstSlug;
this.set('value', slug);
return slug;
});
}
});