Skip to content

Instantly share code, notes, and snippets.

View mwpastore's full-sized avatar

Mike Pastore mwpastore

  • Chicago, Illinois
View GitHub Profile
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
import Ember from 'ember';
export default Ember.Controller.extend({
store: Ember.inject.service(),
count: 0,
foo: null,
init() {
this._super(...arguments);
@mwpastore
mwpastore / cached-computed.js
Last active August 6, 2017 06:56
cached computed macro
import { run } from '@ember/runloop';
import { computed } from '@ember/object';
const { stringify } = JSON;
export default function(...props) {
const { getState, update } = props.pop();
const strippedProps = props.map((prop) => {
@mwpastore
mwpastore / address-model.js
Last active July 28, 2017 13:03
ember-cp-validations preprocessor and helper for deferred validations
import Model from 'ember-data/model';
import { validator } from 'ember-cp-validations';
import attr from 'ember-data/attr';
import buildValidations from '../utils/build-validations';
const ValidationsMixin = buildValidations({
street: {
deferred: true, // N.B.
validators: [
@mwpastore
mwpastore / .eslint.js
Created July 10, 2017 22:11
eslint rule for arrow function parens styling
module.exports = {
// ..
rules: {
'arrow-parens': [2, 'as-needed', { requireForBlockBody: true }],
// ..
}
// ..
}
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
import Ember from 'ember';
import computed from 'ember-macro-helpers/computed';
const Foo = Ember.ArrayProxy.extend({
content: [],
expected: computed('content.@each.qux', content => JSON.stringify({ content })),
actual: computed('@each.qux', content => JSON.stringify({ content }))
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
@mwpastore
mwpastore / controllers.application.js
Created April 23, 2017 16:32
ember-composable-helpers#263
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
receivedArg: null,
save(arg) {
return this.set('receivedArg', `-->${arg}<--`);
}