Skip to content

Instantly share code, notes, and snippets.

View mwpastore's full-sized avatar

Mike Pastore mwpastore

  • Chicago, Illinois
View GitHub Profile
@mwpastore
mwpastore / components.my-component.js
Last active September 19, 2017 23:22
New Twiddle
import Ember from 'ember';
export default Ember.Component.extend({
greeting: 'Hello',
actions: {
showAlert(message) {
const greeting = this.get('greeting');
alert(`${greeting}, ${message}!`);
@mwpastore
mwpastore / controllers.application.js
Last active September 17, 2017 02:38
New Twiddle
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams: ['endDate'],
startDate: '09/01/2017',
endDate: '09/30/2017'
});
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('[email protected]', content => JSON.stringify({ content })),
actual: computed('@each.qux', content => JSON.stringify({ content }))
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});