App.Jsonable

by pangratz666

HTML

<script src="https://github.com/downloads/emberjs/ember.js/ember-0.9.6.js"></script>
<script type="text/x-handlebars" >
</script>

JavaScript

App = Ember.Application.create({});

App.Jsonable = Ember.Mixin.create({
    getJson: function() {
        var v, ret = [];
        for (var key in this) {
            if (this.hasOwnProperty(key)) {
                v = this[key];
                if (v === 'toString') {
                    continue;
                } // ignore useless items
                if (Ember.typeOf(v) === 'function') {
                    continue;
                }
                ret.push(key);
            }
        }
        return this.getProperties.apply(this, ret);
        
        // in next release of ember.js
        // return this.getProperties(ret);
    }
});

App.node = Ember.Object.create(App.Jsonable, {
    name: 'theName',
    type: 'theType',
    value: 'theValue'
});

console.log(App.node.getJson());