Skip to content

Instantly share code, notes, and snippets.

View DesignByOnyx's full-sized avatar

Ryan Wheale DesignByOnyx

View GitHub Profile
@DesignByOnyx
DesignByOnyx / QUnit 2.x update helper
Created July 14, 2015 16:39
Find and replace patterns for updating QUnit tests. Not entirely comprehensive or foolproof, but takes a lot of the manual labor out of upgrading. Run the find/replace combos in order.
(\s{2})(module|test)
$1QUnit.$2
([\d]+), function \((?:assert)?\) \{([\s]+)
function (assert) {$2assert.expect($1);$2
([\"]), function \((?:assert)?\) \{
", function (assert) {
(\s)(equal|notEqual|ok|notOk|propEqual|notPropEqual|deepEqual|notDeepEqual|strictEqual|notStrictEqual|
@DesignByOnyx
DesignByOnyx / all-of-your-models.js
Last active June 16, 2016 22:39
Adjust feathersjs with sequelize to allow models to set up relationships
// Only showing relevant changes
// The folllowing changes must be made in all of your models
var Author = sequelize.define('Authors', {
...
}, {
classMethods: {
// Create a static 'associate' method - will be called later
associate: function (models) {
Author.hasMany(models.Books, { as: 'books' });
.click-collect .form-control.input-lg,
.click-collect .input-group-lg > .form-control,
.click-collect .address-form .input-group-lg > .address-first-name,
.address-form .click-collect .input-group-lg > .address-first-name,
.click-collect .address-form .input-group-lg > .address-last-name,
.address-form .click-collect .input-group-lg > .address-last-name,
.click-collect .address-form .input-group-lg > .address-one,
.address-form .click-collect .input-group-lg > .address-one,
.click-collect .address-form .input-group-lg > .address-two,
.address-form .click-collect .input-group-lg > .address-two,
@DesignByOnyx
DesignByOnyx / clean-form-data.js
Created February 28, 2017 18:51
Express middleware for coercing form-urlencoded data into primitive counterparts
'use strict';
/**
* This file is useful for x-www-form-urlencoded requests where all data is a string.
* If the request uses application/json, this middleware is not needed.
* This loops over all of the data and converts strings to their primitive form,
* basically normalizing numbers, booleans, and null/undefined/'' values.
* This could potentially have side effects, though none were encountered after
* months of using this middleware on a busy project.
*/
import React from 'react';
import DefineMap from 'can-define/map/map';
import ObservationRecorder from 'can-observation-recorder';
import Component from 'react-view-model/component';
class Parent extends Component {
static ViewModel = DefineMap.extend({});
render() {
console.log('Parent render');
return <Child time={new Date()} />;
@DesignByOnyx
DesignByOnyx / ylem-model.md
Last active May 25, 2018 19:30
This is an attempt to describe a model layer for ylem
  1. Define your models with a transport (this is just sugar for can-connect)

    import { Model,  transport } from 'ylem-model';
    
    const Person = Model({
      id: { type: 'number', identity: true },
      name: { type: 'string' },
      email: { type: 'string' },
      age: { type: 'number' },
@DesignByOnyx
DesignByOnyx / postgis-geojson-liaison.js
Created November 9, 2018 00:47
Helpful utility for converting postgis data into GeoJSON as it comes out of the db, and vice versa.
var wkx = require('wkx')
var pg = require('pg')
var pgUtil = require('pg/lib/utils')
const geoParser = {
init(knex){
// 1. Convert postgis data coming out of the db into geoJSON
// Every postgres installation will have different oids for postgis geo types.
knex
.raw('SELECT oid, typname AS name FROM pg_type WHERE typname IN (\'geography\', \'geometry\');')

Keybase proof

I hereby claim:

  • I am DesignByOnyx on github.
  • I am ryanwheale (https://keybase.io/ryanwheale) on keybase.
  • I have a public key whose fingerprint is 0DAA EB7B A5F5 F7AB 35F4 7593 818E 802D A122 192F

To claim this, I am signing this object:

const Sequelize = require('sequelize');
const sequelize = new Sequelize('postgres://db_user:db_pass@localhost:5432/findandcount-test', {
dialect: 'postgres'
});
const Property = sequelize.define('properties', {
name: {
type: Sequelize.STRING,
allowNull: false
@DesignByOnyx
DesignByOnyx / github-auto-link-yaml-refs-bookmarklet.js
Last active September 10, 2019 01:16
Bookmarklet to automatically turn YAML $refs into hyperlinks.