Skip to content

Instantly share code, notes, and snippets.

View raido's full-sized avatar

Raido Kuli raido

View GitHub Profile
@raido
raido / helpers-asset-map.js
Last active September 18, 2018 14:08
Ember.js simplest asset map bundled with app/ tree - no extra downloads
import Helper from '@ember/component/helper';
import { inject as service } from '@ember/service';
export default Helper.extend({
assetMap: service(),
compute(params) {
const [path] = params;
return this.assetMap.resolve(path);
}
});
@raido
raido / adapters.my-model.js
Created June 14, 2018 08:47
Ember Data Validation Errors Clearing on Edit
import DS from 'ember-data';
import RSVP from 'rsvp';
export default DS.Adapter.extend({
createRecord(store, type, snapshot) {
return RSVP.reject(new DS.InvalidError([{
title: 'my_property',
detail: 'invalid_string',
source: { pointer: '/data/attributes/my_property' }
}]));
@raido
raido / adapters.application.js
Last active November 1, 2017 14:22
ED model.setProperties reproduction
import DS from 'ember-data';
import RSVP from 'rsvp';
export default DS.Adapter.extend({
createRecord() {
return RSVP.reject(new DS.InvalidError([
{
detail: 'Must be unique',
source: { pointer: '/data/attributes/name' }
},
@raido
raido / pre-commit
Created May 10, 2017 11:48
Git pre-commit hook to check if commit is allowed with current user.email
#!/bin/sh
# Retrieve author information as Git sees it while commiting
AUTHORINFO=$(git var GIT_AUTHOR_IDENT) || exit 1
NAME=$(printf '%s\n\n' "${AUTHORINFO}" | sed -n 's/^\(.*\) <.*$/\1/p')
EMAIL=$(printf '%s\n\n' "${AUTHORINFO}" | sed -n 's/^.* <\(.*\)> .*$/\1/p')
REMOTE_ORIGIN_URL=$(git remote get-url origin)
# If we're trying to commit to repo with not allowed email
if [[ $REMOTE_ORIGIN_URL != *"<REPLACE_ME>"* ]] && [[ $EMAIL == *"<REPLACE_ME>"* ]]; then
@raido
raido / keybindings.json
Last active June 12, 2017 18:34
VSCode Config
[
{
"key": "shift+cmd+d",
"command": "editor.action.copyLinesDownAction",
"when": "editorTextFocus"
},
{
"key": "cmd+k t",
"command": "workbench.action.terminal.toggleTerminal"
},
@raido
raido / controllers.application.js
Last active April 6, 2017 10:56
Computed from Array
import Ember from 'ember';
const { computed } = Ember;
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
model: Ember.Object.create({
profile: Ember.Object.create({
toolbox: [],
activeToolbox: []
@raido
raido / controllers.application.js
Created October 21, 2016 07:55
POJO get + mut input field
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
params:{
key1: 'hello',
key2: 'world'
},
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
links: [
{
name: 'Index Link',
params: ['index']
}, {
name: 'Foo link',
@raido
raido / controllers.application.js
Last active October 17, 2016 14:44
Computed set with after promise resolve, proxy
import Ember from 'ember';
export default Ember.Controller.extend({
_internalAppName: 'Ember Twiddle',
longRunningTask: new Ember.RSVP.defer(),
appName: Ember.computed('_internalAppName', {
get() {
return this.get('_internalAppName');
},
this.store.query('model', {
param: 1
}).then((records) => {
if (records.get('length') === 0) {
return new RSVP.reject();
}
return records;
}).catch(() => {
// no records found
}).then((records) => {