Skip to content

Instantly share code, notes, and snippets.

View aaronranard's full-sized avatar

Aaron Ranard aaronranard

View GitHub Profile
@aaronranard
aaronranard / key-value-transform.js
Last active February 15, 2018 23:26
Key Value object to Key Value Pair Array
const keyValueObj = { "api_url": "https://hawaii.usa.gov", "message": "BALLISTIC MISSILE INBOUND.", "is_drill": true };
const keyValueArray = Object.entries(keyValueObj).map(([key, value]) => ({ key, value }));
/**
* keyValueArray:
* [
* { key: "api_url", value: "https://hawaii.usa.gov" },
* { key: "message", value: "BALLISTIC MISSILE INBOUND." },
* { key: "is_drill", value: true },
* ],
@aaronranard
aaronranard / PULL_REQUEST_TEMPLATE.md
Last active November 29, 2017 22:57
Baseline PR Template

Description

A few sentences describing the overall goals of the pull request's commits.

Todos

  • Tested and working locally
  • New API endpoints documented
  • Unit tests (if appropriate)
  • Integration tests (if appropriate)

QA

@aaronranard
aaronranard / ast.md
Last active September 1, 2017 02:50
abstract syntax tree

Syntax

BNF grammar is in: examples/lang.bnf Lex grammar is in: examples/lang.lex

To see what is all possible view examples/test.lang

Run

import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import debounce from 'throttle-debounce/debounce'
import axios from 'axios';
import SubmitButton from './SubmitButton'
export default class RegisterCompany extends Component {
constructor(props) {
@aaronranard
aaronranard / ValidateAuthyMiddleware.php
Created March 31, 2017 19:22
Laravel Middleware for Authy OneTouch callback
<?php
namespace App\Http\Middleware;
use Closure;
class ValidateAuthyRequest {
/**
* Handle an incoming request.
*
@aaronranard
aaronranard / currency-validator.js
Last active October 27, 2016 14:45 — forked from chrisvfritz/currency-validator.js
Currency Validator to account for commas in input
var currencyValidator = {
format: function (number) {
return (Math.trunc(number * 100) / 100).toFixed(2)
},
parse: function (newString, oldNumber) {
var CleanParse = function (value) {
return { value: value }
}
var StringParse = function (string) {
return parseFloat(string.replace(/,/g, ''))
@aaronranard
aaronranard / phpecc.php
Created January 28, 2016 22:55
PHP: PHPECC
<?php
$loader = new PemLoader();
$math = EccFactory::getAdapter();
$this->messages = new MessageFactory($math);
$privKeySerializer = new PemPrivateKeySerializer(new DerPrivateKeySerializer());
$pubKeySerializer = new PemPublicKeySerializer(new DerPublicKeySerializer());
$PrivateKeyPath = env('KEY_LOCATION').'my.priv';
$PublicKeyPath = storage_path().'/app/'.uniqid().'.pub';
@aaronranard
aaronranard / get-earliest-relative.php
Last active November 19, 2015 19:24
PHP: WordPress return top most parent ID
<?php
/**
* [Gets the top most parent of a post. If post is top most parent, returns ID]
* @return int [ID of top most parent]
*/
function get_earliest_relative($post){
if ($post->post_parent){
$ancestors=get_post_ancestors($post->ID);
$root=count($ancestors)-1;
$parent = $ancestors[$root];
@aaronranard
aaronranard / acf-select.php
Created November 10, 2015 22:00
PHP: WordPress ACF output select field
/*
* Displaying a single value's Label
*/
$field = get_field_object('field_name');
$value = get_field('field_name');
$label = $field['choices'][ $value ];
@aaronranard
aaronranard / remove-acf-repeater-row.php
Last active October 23, 2015 22:23
acf's delete_sub_field call http://support.advancedcustomfields.com/forums/topic/remove-sub_field/ only makes the value null it doesn't actually delete the row. This does.
<?php
/*
* deleteSubField
*
* This function will delete a value of a sub field entirely and replace the rows correctly.
* ACF's built in delete_sub_field only sets the value to null
*
* @param $field_key (string) the field key of the top level custom field
* @param $repeater_key (string) the field key of the repeater element
* @param $post_id (int) the post_id of which the repeater is stored in